类:继承-2-访问权限

继承访问权限

#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");

}

猜你喜欢

转载自blog.csdn.net/weixin_43374319/article/details/83831389