博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++继承
阅读量:7115 次
发布时间:2019-06-28

本文共 700 字,大约阅读时间需要 2 分钟。

1. C++继承语法

class Derived [: [private|protected|public] Base1, ...]

如果没有指定private、protected或public,则默认是private继承。如果是用struct来定义类,那么默认就是public继承。

使用这里的private、protected和public是用来控制Derived类的对象和子类对Base1等父类的成员的访问,而Derived类内部对与Base1等父类的成员的访问则只受父类的控制。

2. C++支持多重继承,但是这样容易出现菱形继承,容易产生歧义。。

3. C++中,子类的构造函数应该调用父类的构造函数来完成从父类继承的成员的初始化。语法

Derived(base_x, derived_y):Base(x), y(derived_y){    ...}

推荐使用父类的构造函数来初始化父类成员,即使有些情况下,父类的成员子类都可以访问,能在子类的构造函数函数体内部初始化。

4. C++中,推荐将父类和子类的析构函数设置为virtual函数,这样使用指针和引用的时候程序能够自动地找到正确的析构函数去执行。

5. 父类中定义了类静态变量,子类继承父类之后和父类使用同一个静态变量。

6. 只有使用public限定的继承才能实现子到父的类型转换。

7. 父类的友元不能直接访问子类的private成员,子类的友元也不能访问父类的private成员。

 

转载于:https://www.cnblogs.com/richardustc/archive/2013/03/29/2989397.html

你可能感兴趣的文章
VueJs开发笔记—IDE选择和优化、框架特性、数据调用、路由选项及使用
查看>>
用secureCRT操作ubuntu终端
查看>>
【转】UISearchBar的使用
查看>>
ASP.NET MVC 5 学习教程:添加视图
查看>>
Net设计模式实例之抽象工厂模式(Abstract Factory Pattern)
查看>>
C++:多重继承
查看>>
【原】Github系列之二:开源 一行代码实现多形式多动画的推送小红点WZLBadge(iOS)...
查看>>
Linux下svn常用指令【转】
查看>>
Android -- 发送Broadcast、有序无序
查看>>
SQL Server DATEDIFF() 函数 用法
查看>>
SharePoint 2016 的新特性概览(一)(What's New for IT Professionals in SharePoint Server 2016)...
查看>>
深度学习笔记之关于常用模型或者方法
查看>>
使用jenkins配置.net mvc网站进行持续集成三
查看>>
关于增强for循环
查看>>
GENIA项目-综述论文(E99)
查看>>
JavaScript 资源列表
查看>>
SharePoint online Multilingual support - Settings
查看>>
中断相关一【转】
查看>>
通过编译函数库来学习GCC【转】
查看>>
[LeetCode] Longest Increasing Path in a Matrix 矩阵中的最长递增路径
查看>>