C++多继承的二义性

  多承继能够看做是单承继的扩展。   多承继下派生类的定义格式以下:  …  …  …  其中, 派生类C具备两个基类(类A和类B), 所以, 类C是多承继的。 依照承继的规则, 派生类C的成员包含了基类A, 派生类的构造函数格式以下:  其中, <总参数表>中各个参数包含了其后的各个分参数表。 它必需同时负责该派生类一切基类构造函数的调用。 同时,   派生类构造函数执行顺序是先执行所属基类的构造函数, 处于同一层次的各基类构造函数的执行顺序取决于定义派生类时所指定的各基类顺序, 与派生类构造函数中所定义的成员初始化列表的各项顺序有关。 执行基类构造函数的顺序取决于定义派生类时基类的顺序。 可见, 派生类构造函数的成员初始化列表中各项顺序能够任意地排列。   下面通过一个例子来讲明派生类构造函数的构成及其执行顺序。   该程序的输入结果为:  在该程序中, 在派生类A中的print()函数的定义中, 运用了B1::print;和B2::print();语句辨别指明调用哪个类中的print()函数,ide

相关文章
相关标签/搜索