子类有三种方式从基类处继承,分别是private、protected和public。
例:
class A{
private:
int a1;
public:
int a2;
int getNum(){return a1;}
};
class B:public A
{};
在B中,就相当于
class B
{
public :
A a;
}
B类对象直接可以访问A中的a2成员,但不能直接访问A中的a1成员,但是可以调用A提供的外部接口
B b;
cout<<b.a2; //right,b中没有重新定义a2变量,默认就调用b.A::a2,此处A::可以省略。
cout<<b.a1; //error
cout<<b.getNum(); //right
其他继承方式类似。