我正在清理掉我的C++知识并尝试在此处编写程序。从派生类构造函数初始化受保护的数据成员
class Quad{
public:
Quad(){}
protected:
vec _topLeft, _topRight, _bottomLeft, _bottomRight;
};
class IrregularQuad : public Quad{
public:
IrregularQuad(vec topLeft, vec topRight, vec bottomLeft, vec bottomRight)
: _topLeft(topLeft), _topRight(topRight), _bottomLeft(bottomLeft), _bottomRight(bottomRight)
{}
};
我以上Dervied类承包商得到一个编译错误说: 成员初始化_topLeft没有指定非静态数据memeber或基类(类似的错误对其他成员的工作)
我无法理解发生什么事情。难道我不能使用Initalizer列表或其他东西来初始化受保护的成员吗?
什么是'vec'? –
'vec'是我为矢量(x,y,z)定义的另一个类 – user1240679
[派生构造函数中访问基本成员的问题]的可能重复(http://stackoverflow.com/questions/2947583/problem-accessing-base - 成员在派生构造函数) –