继承与虚继承

本文探讨了C++中的继承概念,包括派生类、基类的关系,虚函数与动态绑定,以及派生类的构造与析构。重点介绍了虚继承,解释了它如何解决多继承时的命名冲突和存储空间问题,强调了在使用虚继承时,派生类必须初始化虚基类的重要性。

允许程序员在保持原有的特性基础上进行扩展,增加功能,这样产生新的类,称作是派生类。继承呈现了面向对象程序设计的层析结构,体现了由简单到复杂的认知过程。继承是类设计层次的复用

1、定义基类:

基类有两种成员函数:一种是希望其派生类进行覆盖覆盖(virtual虚函数,动态绑定),另一种是派生类直接继承而不要改变的函数。

2、定义派生类:

派生类继承了基类的:1)所有成员变量,包括static静态成员变量。2)作用域,但是友元关系没有继承。

2.1 派生类向基类的类型转换:一个派生类包括两部分:从基类继承的对象和自己定义的子对象。

由于派生类对象中含有基类继承的部分(继承的关键),我们可以把派生类对象当成基类对象来使用。

Base item;// 基类对象item
Derived bulk;// 派生类对象bulk

Base *p=&item;// p指向Base对象
p=&bulk;// p指向派生类对象bulk的Base部分

2.2 派生类构造/析构函数:首先初始化基类部分,再按照声明顺序初始化派生类的成员。析构时先析构派生类,再析构基类。

3、类型转换与继承(只对指针或引用有效)

只存在派生类向基类的类型转化,因为每个派生类对象都包含一个基类对象


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值