1.单继承
继承权限
C++继承中包含三种继承方式:public protected private
继承方式代表父类中的属性在子类中最低权限
例:若子类继承方式是protected,子类从父类中继承的public属性都将转为protected属性;若子类继承方式是private,子类从父类中继承的public属性和 protecte属性都将转为private属性;
class Father
{
public:
Father(string name,int age) :name(name),age(age){}
void print()
{
cout<<"father:"<
public:
Son(string name,int age):Father(name,age){}
void print_son()
{
cout<<"son:"<
Son myson("张三",18);
myson.print_son();//可以输出因为继承了父类name和age属性
myson.print()//报错 因为print()继承为protected属性无法外部调用,解决办法:改为public继承
}
构造函数与析构函数
子类构造函数必须调用父类构造函数,在子类运行构造函数之前先运行父类构造函数;
在终结对象时,先析构子类再析构父类
class Father
{
public:
Father(string name,int age) :name(name),age(age)
{
cout<<"Fatherget!";
}
~Father()
{
cout<<"Fatherout!";
}
void print()
{
cout<<"father:"<
public:
//构造子类时必须调用父类构造函数为继承来的属性赋初值
Son(string name,int age,string girlfriend_name):Father(name,age),girlfriend_name(girlfriend_name)
{
cout<<"Songet!";
}
~Son()
{
cout<<"Sonout!";
}
void print_son()
{
cout<<"son:"<
{Son myson("张三",18,"小芳");}
//输出结果:Fatherget!Songet!Sonout!Fatherout!
}



