#include<iostream>
using namespace std;
class father
{
public:
int age;
protected:
int mima;
private:
string mimi;
};
class son1 :public father
{
public:
void func()
{
age = 100;
mima = 1216;
}
};
void func()
{
son1 s1;
s1.age = 100;
cout << "公共继承权限下的age:" << s1.age << endl;
}
class son2 :protected father
{
public:
void func()
{
age = 100;
mima = 1218;
cout << "保护权限下的age=" << age << endl;
cout << "保护权限下的mima=" << mima << endl;
}
};
void func1()
{
son2 s1;
s1.func();
}
class son3 :private father
{
public:
void func()
{
age = 1;
mima = 100;
cout << "私有继承下的age:" << age << endl;
cout << "私有继承下的mima:" <<mima << endl;
}
};
void func2()
{
son3 s;
s.func();
}
class sunzi :public son3
{
public:
void fun()
{
cout << "无法访问father类内的成员!" << endl;
}
};
void func3()
{
sunzi s;
s.fun();
s.func();
}
int main()
{
func();
func1();
func2();
func3();
system("pause");
return 0;
}
结果如下:
 总结如下:公共继承,类外只能访问public下的属性,类内可以不可以访问私有权限的属性,可以访问protected和public下的属性。 protected继承,类内不可以访问私有权限的内容,类外只能访问父类的public权限下的内容,不能访问父类protected权限下的内容,不能访问父类private权限下的内容。 private继承,类内不可以访问基类(父类)的私有权限内容,其他都可以访问,在类外,不可以访问父类的内容。
|