我希望有一个派生类,它有一个默认构造函数来初始化继承的成员。
为什么可以这样做?
class base{
protected:
int data;
};
class derived: public base{
public:
derived(){ //note
data = 42;
}
};
int main(){
derived d();
}
但不是这个
class base{
protected:
int data;
};
class derived: public base{
public:
derived(): //note
data(42){}
};
int main(){
derived d();
}
错误:类“derived”没有名为“data”的字段
int
也是一个对象。对象是存储区域。 - Brian Bi