c++的继承与多态
来源:互联网 发布:mac单机小游戏 编辑:程序博客网 时间:2024/06/06 03:31
继承与多态
继承的本质:代码的复用
1)派生类的内存布局,都继承了基类的什么。
2)继承来的东西的访问限定:
3)派生类对象的构造顺序
4)派生类和基类同名成员方法的关系:
重载:作用域相同,函数名相同,参数列表不同的函数。
隐藏:继承结构中,派生类隐藏了与基类同名的函数。(隐藏基类,优先调用自己的)
覆盖:基类有与派生类同名的函数,返回值相同,参数列表相同。并且基类的函数为虚函数。则基类的虚函数会覆盖派生类的函数。
5)基类对象和派生类对象能否互相赋值和引用
Base b; Derive d;
基类对象---》派生类对象 例:d=b; //error因为派生类对象包含基类成员和派生类成员。会造成派生类的成员部分没有赋值
派生类对象---》基类对象 例:b=d; //正确 因为派生类对象包含了基类成员的那部分,则可以赋值。 (编译器默认的支持自下向上的转换)
基类对象的指针/引用----》派生类对象 例:Base *pa=&d; //正确 但是指针接引用不能访问派生类的成员。因为指针的类型为Base*
派生类对象的指针/引用----》基类对象 例:Derive *pb=&b;//error
6)虚函数和多态
7)什么情况下产生多态的调用:使用指针和引用指向不同于该指针类型的对象的时候。
8)纯虚函数和抽象类
抽象类:拥有纯虚函数的类为抽象类,抽象类不能定义对象,可以定义指针/引用。
阅读全文
0 0
- C++--继承与多态
- C语言下的封装、继承与多态
- C语言模拟实现C++的继承与多态
- C语言模拟实现C++的继承与多态
- C语言实现C++的封装继承与多态
- C语言模拟实现C++的继承与多态
- C中的继承与多态
- C#(二) -继承与多态
- 【C#】C#继承与多态
- Objective-c:封装、继承与多态
- C语言实现继承与多态
- 【继承与多态】C++:继承中的赋值兼容规则,子类的成员函数,虚函数(重写),多态
- 【继承与多态】C++:继承中的赋值兼容规则,子类的成员函数,虚函数(重写),多态
- 使用继承的多态(C#)
- 【C/C++学院】(10)重载与重写/多态的深入/多继承接口
- 黑马程序员——Objective-C的封装、继承与多态
- objective-c自学总结(三)---面向对象的封装,继承与多态
- 用C语言模拟实现c++的继承与多态特性
- Python语言学习之二:字符串格式化
- Linux下安装SVN服务端小白教程
- 在notepad++插件开发中使用QT
- 【安全牛学习笔记】主动信息收集
- 三个晚上搞定一个Django个人博客是个什么体验
- c++的继承与多态
- python dlib学习(四):单目标跟踪
- hive自定义函数UDF
- 1015. 德才论 (25)
- 2017年10月26日训练笔记
- 43. Multiply Strings
- 求助!!!
- 事件监听的三种方法
- Java基本信息配置