| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > производные классы окружности |
| Автор: certt 1.3.2007, 19:36 |
| помогите. пожалуйста, создал на с++ класс окружность, координаты центра, радиус, признак отображения на экране.мне нужно сделать производные классы: "вписанный многоугольник"(количество сторон) и "описанный многоугольник"(количество сторон, цвет), ввести порядковый номер фигуры в базовый класс. Определить функцию визуализации для каждого класса с разной реализацией. Borland C++ 3.0. #include <iostream.h> class Shape { public: Shape() { cout << "Shape" << endl; } virtual ~Shape() { cout << "~Shape" << endl; } virtual void Draw() = 0; }; class Circle : public Shape { int x_, y_, r_; public: Circle(int x = 0, int y = 0, int r = 0) : x_(x), y_(y), r_® { cout << "Circle" << endl; } Circle(const Circle& c) : x_(c.x_), y_(c.y_), r_(c.r_) { cout << "Circle copy constructor" << endl; } Circle& operator = (const Circle& c) { cout << "Circle operator =" << endl; x_ = c.x_; y_ = c.y_; r_ = c.r_; return *this; } ~Circle() { cout << "~Circle" << endl; } void Draw() { cout << "Draw Circle\tx = " << x_ << "\ty = " << y_ << "\tr = " << r_ << endl; } int GetX() const { return x_; } int GetY() const { return y_; } int GetR() const { return r_; } void SetX(int x) { x_ = x; } void SetY(int y) { y_ = y; } void SetR(int r) { r_ = r; } }; void main() { Circle c1(10, 10, 5); c1.Draw(); c1.SetR(2); Circle c2(c1); c2.SetX(c1.GetX() + 10); c2.Draw(); Circle c3; c3 = c2; c3.SetY(100); c3.Draw(); } |
| Автор: KelTron 2.3.2007, 08:57 |
козно Если хочешь чтоб тебе быстрее помогли, тогда облегчи жизнь тем кто будет читать твой код: 1 Нормально отформатируй 2 Используй теги [code=] [/code] PS мда |