1: Single inheritance is the constructor that calls the base class first, and then calls the constructor of the derived class, but how does multiple inheritance call the constructor? The order of the base class constructors in multiple inheritance is called in the order in which they are declared in the derived table. Derived tables are the same as those inherited in multiple inheritance definitions, in the order in which they are called in the sequence of the base class name identifiers.
2: The code is as follows:
//8.6.cpp: Defines the entry point of the console application. //#include"stdafx.h"#include<iostream>using namespacestd;classcbicycle{ Public: Cbicycle () {cout<<"Bicycle Construct"<<Endl; } cbicycle (intiweight) {M_iweight=Iweight; } voidRun () {cout<<"Bicycle Run"<<Endl; }protected: intm_iweight;};classcairplane{ Public: Cairplane () {cout<<"Airplane Construct"<<Endl; }; Cairplane (intiweight) {M_iweight=Iweight; } voidFly () {cout<<"Airplane Fly"<<Endl; }protected: intm_iweight;};classCairbicycle: PublicCbicycle, Publiccairplane{ Public: Cairbicycle () {cout<<"cairbicycle Construct"<<Endl; } voidRunfly () {cout<<"Run and Fly"<<Endl; }};voidMain () {cairbicycle ab; Ab. Runfly ();}View Code
Operation Result:
Introduction to C + + Classic-Example 8.6-the construction order of multiple inheritance