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++高级-创新互联
网站URL:http://hbruida.cn/article/coscgg.html