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',它的行爲與原始數組相比更像其他集合。 –