c++的默认继承方式是private继承
#-----------c++的默认继承方式是private继承
#include<iostream>
using namespace std;
class Person
{
public:
Person()
{
a = 100;
cout << "这里是Person的构造函数" << endl;
}
~Person()
{
cout << "这里是Person的析构函数" << endl;
}
int a;
};
class son :public Person //默认继承方式是private
{
public:
int a;
son()
{
cout << "这里是son的构造函数" << endl;
a = 400;
}
~son()
{
cout << "这里是son的析构函数" << endl;
}
};
class son2 : Person //默认继承方式是private
{
public:
int a;
son2()
{
cout << "这里是son2的构造函数" << endl;
a = 400;
}
~son2()
{
cout << "这里是son2的析构函数" << endl;
}
};
void test01()
{
son p;
cout << p.a << endl; //自己访问自己的成员变量
cout << p.Person::a << endl; // 访问父类的继承对象 如果没有加public则父类的a是private类型
son2 p2;
cout << p2.a << endl; //自己访问自己的成员变量
//错误,不允许对不可访问的基类
//cout << p2.Person::a << endl; // 访问父类的继承对象 如果没有加public则父类的a是private类型
}
int main()
{
test01();
system("pause");
}
运行结果图
第二个400下面没有100,因为继承方式为私有 ,父类不可访问。