C++学习笔记:3.4多继承

本文介绍了C++中多继承的基本概念及其实现方式,并通过示例代码展示了如何在一个类中实现对多个基类的继承。此外,还讨论了多继承可能带来的二义性问题及其避免方法。

多继承概念:

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;
}

二、多继承的二义性

避免设计图模式的多继承关系,容易产生二义性


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值