继承访问权限
#include <iostream>
class A
{
public:
int a;
protected:
int b;
private:
int c;
public:
int& GetC()
{
return c;
}
};
class B : public A
{
public:
void f()
{
a = 1;//子类可以访问父类pulbic成员
b = 1;//子类可以访问父类protected成员
//c = 1;//不能直接访问private成员
GetC() = 1;//但是可以间接访问private成员,方法就是父类写个公有的函数供子类访问
}
};
void main()
{
A a;
//a.a=? a.b=? a.c=?
a.a = 0;//类外面只能访问public的成员
B b;
//b.a=? b.b=? b.c=?
std::cout<< b.a <<std::endl;
b.f();//修改的是b对象里面的b.a=1 b.b=1 b.c=1
std::cout<< a.a <<std::endl;//0
std::cout<< sizeof(A) <<std::endl;//12
std::cout<< sizeof(B) <<std::endl;//12
system("pause");
}