c++高级-创新互联

目录

创新互联-专业网站定制、快速模板网站建设、高性价比海珠网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式海珠网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖海珠地区。费用合理售后完善,十载实体公司更值得信赖。

一、继承和派生

二、继承中的构造和析构

1.子类的 构造 析构顺序

三、子类和父类的同名处理

1.子类和父类 同名成员变量

2.子类和父类 同名成员函数  

3.子类 重定义 父类的同名函数

4.子类不能从父类继承的成员

四、多继承

1.菱形继承

五、虚继承

1.虚继承的方式


一、继承和派生

继承的作用:提高代码重用,提高开发效率

(c++最重要的特征 是 代码重用)

派生类的定义:

继承方式:private protected public(推荐)

所有父类的私有在子类中不可访问。

公有继承,各类保持不变;保护继承,各类变成保护;私有继承,各类变成私有。

二、继承中的构造和析构 1.子类的 构造 析构顺序

成员 是 对象成员(以下other是一个类)

三、子类和父类的同名处理

同名成员 最简单 最安全的处理方式:加作用域(多继承也是)

1.子类和父类 同名成员变量

子类默认优先访问 子类的同名成员,想访问父类的同名成员 必须加父类作用域

2.子类和父类 同名成员函数  

3.子类 重定义 父类的同名函数

重载:无继承,同一作用域,参数个数不同、顺序不同、类型不同 都可重载。

重定义:有继承,此类重定义父类的同名函数(参数可以不同,非虚函数)。子类一旦重定义了父类的同名函数,子类都将屏蔽父类所有的同名函数。但也可以访问屏蔽的父类同名函数,加父类作用域即可。  

重写:有继承,子类,重写父类的虚函数。函数名、返回值类型、参数类型个数顺序 必须完全一致。(具体见 十五章虚函数定义)

4.子类不能从父类继承的成员

构造函数、析构函数、重载(其完成类似 构造函数 的行为,所以也不行)

四、多继承

内涵:同时从多个类继承。(但是从多个类继承,可能会导致函数、变量等同名,引起较多的歧义)

任何 多继承 都可以用 单继承 替代(工程开发中,多继承几乎不被使用,它对代码维护性上的影响是灾难性的)

格式:

1.菱形继承

内涵:有公共祖先的继承(最底层的子类 会包含 多份公共祖先的数据)

五、虚继承

解决 菱形继承中 多份公共祖先数据的问题。

1.虚继承的方式

在继承方式前加 virtual 修饰。子类虚继承父类,子类只会保存一份公共数据(不能解决 没有公共祖先的多继承)。

虚继承 会在子类中产生 虚基类指针(vbptr),指向 虚基类表(vbtable),虚基类表 记录的是 通过该指针访问公共祖先的数据的偏移量。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

当前名称:c++高级-创新互联
本文路径:https://www.cdcxhl.com/article16/coscgg.html

成都网站建设公司_创新互联,为您提供云服务器面包屑导航虚拟主机移动网站建设网页设计公司网站营销

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司