Design a base class Shape with virtual functions void draw(GraphicWindow& win) c
ID: 3541334 • Letter: D
Question
Design a base class Shape with virtual functions
void draw(GraphicWindow& win) const;
void move(double dx, double dy);
The Circle, Line, and Message classes of Chapter 2 are not derived from the Shape
class. Supply three adapter classes CircleShape, LineShape, and MessageShape. Supply
a test program that populates a vector<Shape*> with adapted objects, and demon-
states the draw and move functions.
#include "ccc_win.h"
int ccc_win_main()
{
Point p(1, 3);
cwin << p << Circle(p, 2.5);
return 0;
}
#include "ccc_shap.h"
#if defined(_MSC_VER)
#define CCC_MSW
#endif
#if defined(_WINDOWS_) || defined (_Windows) || defined(WINVER) || defined(__WIN32__)
#define CCC_MSW
#endif
#if defined(__GNUC__) && !defined(CCC_MSW)
#define CCC_X11
#endif
#if defined(CCC_ASC)
#include "ccc_asc.h"
#elif defined(CCC_WXW)
#include "ccc_wxw.h"
#elif defined(CCC_X11)
#include "ccc_x11.h"
#elif defined(CCC_MSW)
#include "ccc_msw.h"
#else
#include "ccc_asc.h"
#endif
Explanation / Answer
#include "ccc_shap.h"
#if defined(_MSC_VER)
#define CCC_MSW
#endif
#if defined(_WINDOWS_) || defined (_Windows) || defined(WINVER) || defined(__WIN32__)
#define CCC_MSW
#endif
#if defined(__GNUC__) && !defined(CCC_MSW)
#define CCC_X11
#endif
#if defined(CCC_ASC)
#include "ccc_asc.h"
#elif defined(CCC_WXW)
#include "ccc_wxw.h"
#elif defined(CCC_X11)
#include "ccc_x11.h"
#elif defined(CCC_MSW)
#include "ccc_msw.h"
#else
#include "ccc_asc.h"
#endif
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.