#include <iostream>
using namespace std;
/*---------------------------------
10私有派生
---------------------------------*/
class father
{
private:
void room1()
{cout<<"room1--父亲的大房子我也可以享受\n";}
public:
void room2()
{cout<<"room2--父亲的大房子我也可以享受\n";}
protected:
void room3()
{cout<<"room3--父亲的大房子我也可以享受\n";}
};
class son:private father //私有派生private
{
public:
void enjoy()
{
//room1(); //父类的私有成员不能被访问
room2(); //父类的公有成员能被访问
room3(); //父类的保护成员能被访问
}
};
int main()
{
son a;
a.enjoy(); //只能间接访问room2()和room3()
// a.room2(); //私有派生无法直接访问父类的公有成员,而公有派生是可以的
// a.room3(); //私有派生无法直接访问父类的保护成员,这一点公有派生与其相同
return 0;
}
运行结果:
room2--父亲的大房子我也可以享受
room3--父亲的大房子我也可以享受
Press any key to continue