1. 程式人生 > >類:繼承-2-訪問許可權

類:繼承-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");

}