C++多继承的二义性

所谓多继承是指派生类具有多个基类, 派生类与每个基类之间的关系仍可看作是一个单继承。   多继承下派生类的定义格式如下:  …  …  …  其中, 因而, 类C是多继承的。 B中成员以及该类自身的成员。 <总参数表>中各个参数包括了其后的各个分参数表。   多继承下派生类的结构函数与单继承下派生类结构函数相似, 它必须同时担任该派生类所有基类结构函数的调用。 派生类的参数个数必须包括完成所有基类初始化所需的参数个数。   派生类结构函数执行顺序是先执行所属基类的结构函数, 处于同一层次的各基类结构函数的执行顺序取决于定义派生类时所指定的各基类顺序, 与派生类结构函数中所定义的成员初始化列表的各项顺序无关。 也就是说, 执行基类结构函数的顺序取决于定义派生类时基类的顺序。 派生类结构函数的成员初始化列表中各项顺序可以恣意地排列。   该顺序的输入结果为:  在该顺序中, 作用域运算符::用于处理作用域冲突的问题。 在派生类A中的print()函数的定义中, 使用了B1::print;和B2::print();语句分别指明调用哪一个类中的print()函数, 这种用法应该学会。

posted on 2011-04-01 00:06  jiyizhen3721  阅读(231)  评论(0编辑  收藏  举报