C++ 继承基础
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++ 继承基础,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1521字,纯文字阅读大概需要3分钟。
内容图文
在学习继承之前, 首先要对类有着比较多的了解, 不大熟悉的可先看这里
继承是C++的一大精髓之所在, 同时继承也是有着难点, 本篇从基础部分介绍.
继承的关系大概是这样的:
上图的 "父亲" 的类叫做基类, 父类或超类
上图的 "孩子"与"孙子"以及可能出现更多的"子子孙孙"的类叫做子类
而这种的结构图叫做: 继承层次结构
在编写继承的时候, 结构图一定要先理出来, 分析出来.
这些理论先要理清楚, 再实现
为了能更好地理解, 本人使用Windows平台上的win32的窗口思想来举一个类似继承的例子:
(注意: win32编程中窗口没有继承, 但是可以用继承层次结构来分析)
在继承结构中, 一定要注意箭头的方向, 注意是由 子类->父类, 而不是 父类->子类
继承有以下基本特点:
1. 继承时子类可以访问父类的 public, protected 数据成员, 但不得访问 private部分 (子类具有并可以修改访问父类的 public, protected 的数据成员)
2. 继承时子类能访问到父类的数据, 但父类无权访问子类 (如上图箭头所示)
3. 继承中当子类的指针或引用要转换为父类时, 会发生截断现象
4. 继承具有多态性
首先解释一下:
1. 数据截断可以理解为当发生子类的引用或指针转父类时, 子类中独有的数据将会全部丢失
2. 多态性其实就是在解释上面的第1点, 也就是子类不仅具有父类的数据, 也可以有自己的独有的数据
现在尝试编写继承:
class Basic { string myPrivate="Private"; protected: string myProtected="Protected"; public: string myPublic="Public"; }; class Child: public Basic //继承一个类的表示方法 { public: void getMembers() { cout<<myPublic<<endl;//Worked cout<<myProtected<<endl;//Worked cout<<myPrivate<<endl;//Error! } }; int main() { Child child; child.getMembers(); return 0; }
实践表明, private无法访问.
有关继承的基础部分已结束, 请等待更新.
内容总结
以上是互联网集市为您收集整理的C++ 继承基础全部内容,希望文章能够帮你解决C++ 继承基础所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。