单继承定义方式
class 派生类名:继承方式 基类名
{
成员声明;
}
代码说明多继承:派生类具有多个基类
class 派生类名:继承方式1 基类名1 ,继承方式2 基类名2
{
成员声明;
}
#includeusing namespace std; class Car{ private: char lable; int price ; public: void show_price(); //Car(int price):price(price){} }; void Car::show_price(){ cout< 基类函数具有构造函数时: #includeusing namespace std; class Car{ protected://注意这里设置为保护类 char lable; int price ; double gas; public: void show_price(); //Car(int price):price(price){} Car(int x,double y):price(x),gas(y){} }; void Car::show_price(){ cout< 类型兼容规则 还没有完全明白
#include继承时候的构造函数using namespace std; class base1{ public: void display(){cout<<"base1"< display();//指针用->访问,变量用.访问 } int main(){ base1 base1; base2 base2; Derived derived; fun(&base1); fun(&base2);//派生类的指针可以隐含转化为基类的指针 fun(&derived);//同上 //注意print的结果 return 0; } #includeusing namespace std; //-------------------------------------------------------------- class B{ public: B(); B(int i); ~B(); void print(); private: int b; }; B::B(){ b=0; cout<<"B's default constructor"< 派生类的构造函数(多继承且有内嵌对象)当基类中声明有默认构造函数或者未声明构造函数时,派生类构造函数可以不向基类构造函数传递参数,也可以不声明构造函数。生成构造派生类的对象时,基类的默认函数将会被调用
若基类含形参的构造函数,派生类构造函数则需要在初始化列表中给基类提供参数构造函数的执行顺序
1.调用构造函数,调用顺序按照他们被继承时声明的顺寻(并不是按照初始化列表的顺序)****
2.队成员对象进行初始化,初始化顺序按照他们在类中声明的顺序
3.执行派生类的构造函数体内的内容内嵌对象:
其实就是在一个新的类里面定义一个类的对象称为类内对象此时构造函数的形式为
派生类名::派生类名(形参表):基类名1(参数),基类名2(参数),…基类名n(参数),对象成员初始化列表,基本类型成员初始化列表{
其他语句;
}有点小南哦
多看看代码最最最后的注释#includeusing namespace std; class base1{ public: base1(int i){cout<<"Construct base1: "< 休息一会再更,有点倦了



