Другими словами, с учетом базового класса shape
и производного класса rectangle
:
class shape
{
public:
enum shapeType {LINE, RECTANGLE};
shape(shapeType type);
shape(const shape &shp);
}
class rectangle : public shape
{
public:
rectangle();
rectangle(const rectangle &rec);
}
Я хотел бы знать, могу ли я создать экземпляр rectangle
, вызвав:
shape *pRectangle = new shape(RECTANGLE);
и как я могу реализовать конструктор копирования, чтобы получить новый rectangle
, вызвав:
shape *pNewRectangle = new shape(pRectangle);