多继承概念:
1.一个类有多个直接基类的继承关系称为多继承
2.多继承声明语法
class 派生类名:访问控制 基类名1,访问控制 基类名2,...,访问控制 基类名n{
}
3.类c可以根据访问控制同时继承类A和类B的成员,并添加自己的成员
// 多继承.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
class Base1{
public:
Base1(int b){
b1 = b;
}
void printB1(){
cout << "b1: " << b1<< endl;
}
private:
int b1;
};
class Base2{
public:
Base2(int b){
b2 = b;
}
void printB2(){
cout << "b2: " << b2 << endl;
}
private:
int b2;
};
class Base3:public Base1,public Base2{
public:
Base3(int b1,int b2,int c): Base1(b1), Base2(b2){
this->c = c;
}
void printC(){
cout << "c: " << c << endl;
}
private:
int c;
};
int _tmain(int argc, _TCHAR* argv[])
{
Base3 b(1, 2, 3);
b.printB1();//1
b.printB2();//2
b.printC();//3
return 0;
}
二、多继承的二义性
避免设计图模式的多继承关系,容易产生二义性