1
我有一个类CPolygon
它是从类CElement
派生。 [我在这里使用多态性]。为什么我不能将值赋给基类的成员?
class CElement : public CObject
{
public:
virtual ~CElement();
virtual void Draw(CDC* pDC){};
CPoint vertices[11];
protected:
CElement();
};
class CPolygon : public CElement
{
public:
CPolygon(CPoint mFirstPoint,CPoint mSecondPoint);
~CPolygon(void);
virtual void Draw(CDC* pDC);
protected:
CPoint mStartPoint;
CPoint mEndPoint;
CPolygon(void);
};
当我尝试到一个数组分配给CElement对象的成员vertices
,我得到的错误:expression must be a modifiable Lvalue
CElement* a = new CPolygon(mFirstPoint,mSecondPoint);
a->vertices=vertices; //here!!
为什么不能做到这一点工作??
如果您需要像这样复制数组,请尝试'std :: array',它的行为与原始数组相比更像其他集合。 –