關於C++編程vs2017 error: c2228的一種可能,或稱基類位於派生類之後會出現的問題

上次C++實驗編程遇到了一次error: c2228的問題,百度過了也沒有答案,最終調換了基類和派生類的順序纔得到解決。

下面是產生異常的一段代碼(以上省略基類Plane和其純虛函數area和girth):

class Triangle: public Point, public Plane
{
public:
 Triangle(){}
 Triangle(float a, float b, float c, float d, float e, float f) : A(a, b), B(c, d), C(e, f) {}
 virtual float area() const;
 virtual float girth() const;
private:
 Point A;
 Point B;
 Point C;
};
class Point
{
public:
 Point(float = 0, float = 0);
 float x;
 float y;
};
這段代碼就會出現error: c2228

在把基類放在派生類之後就不會出現問題啦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章