class A
{
private:
int age;
};
class B:private A
{
public:
int Getage()
{
return age;
}
};
B b1;
cout<< b1.Getage()<<endl; 派生类私有继承基类之后,基类中的所有成员相对于派生类都是私有的,派生类的成员函数无法访问基类中的私有成员,所以return age失败。
class A
{
protected:
int age;
};
class B:private A
{
public:
int Getage()
{
return age;
}
};
B b1;
cout<< b1.Getage()<<endl; 将int age改成protected,继承方式还是private,为什么就可以访问了呢?私有继承基类之后,基类成员在派生类中不都是私有的吗?
private成员是不能被子类继承的,只属于该类本身。
protected和public成员才可以被子类继承。