ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++面向对象程序设计(5)

2022-02-28 22:01:29  阅读:145  来源: 互联网

标签:对象 成员 基类 C++ 面向对象 派生类 继承 程序设计 构造函数


五,继承与派生

C++中可重用性是通过“继承(inheritance)”这一机制来实现。

单继承:一个派生类只从一个基类派生。

多重继承:一个派生类有两个或多个基类。

派生类一般形式为:

class 派生类名 : [继承方式] 基类名    //继承方式默认为private

{派生类新增加的成员};

1,派生类成员的访问属性

公用继承

基类的公有成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。

私有继承

基类的公有成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有。

受保护的继承

基类的公有成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。

受保护成员的意思是:不能被外界引用,但可以被派生类的成员引用。

2,派生类的构造函数和析构函数

构造函数的主要作用是对数据成员初始化。

派生类构造函数一般形式为:

派生类构造函数名 (总参数表):基类构造函数名(参数表),子对象名(参数表)

{派生类中新增数据成员初始化语句}

3,多重继承

多重继承派生类的构造函数:

派生类构造函数名(总参数表):基类1构造函数(参数表),基类2构造函数(参数表),

                                                        基类3构造函数(参数表列)

{派生类中新增数据成员初始化语句}

多重继承引发的二义性问题

虚基类

C++提供虚基类(virtual base class)的方法,使得在继承间接共同基类时只保留一份成员。

声明虚基类一般形式:

class 派生类名:virtual 继承方式 基类名

4,基类与派生类的转换

基类和派生类对象之间有赋值兼容关系。具体表现在以下几个方面:

1,派生类对象可以向基类对象赋值。可以用子类对象对其基类对象赋值,但不能反过来。

2,派生类对象可以替代基类对象向基类对象的引用进行赋值或初始化。

3,如果函数的参数是基类对象或基类对象的引用,相应的实参可以用子类对象。

4,派生类对象的地址可以赋给指向基类对象的指针变量,也就是说,指向基类对象的指针变量也可以用来指向派生类对象。

5,继承与组合

类的组合:在一个类中以另一个类的对象作为数据成员

标签:对象,成员,基类,C++,面向对象,派生类,继承,程序设计,构造函数
来源: https://blog.csdn.net/weixin_44414904/article/details/123185995

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有