C++中存在多重继承和多继承,两者名字相近却是完全不同的两个概念:
多重继承:是至少有一个派生类又作为基类被继承。例如A——派生——B ,B——又派生——C。这就是最简单的多重继承。
多继承 :是一个派生类继承了两个基类;
例如:
class Man :public Worker,public Person {public: Man(string name,string code):Worker(code),Person(name){ cout << "Man()" << endl; } ~Man() { cout << "~Man()" << endl; }};这个就是Man这个类继承了Worker和Person两个基类。这里有一个特点,按道理初始化列表的执行顺序是从右边到左边(这个我在上面的C++学习一初始化列表中验证过),但是这里实际的构造函数调用顺序却是,先Worker()再Person()。顺序是按照你写继承代码的顺序来的,也就是下面这行代码里面,Worker(code)和Person(name)的先后顺序。先Worker就先调用Worker的构造函数
Man(string name,string code):Worker(code),Person(name)
新闻热点
疑难解答