c++基础之虚拟继承,虚函数virtual
来源:互联网 发布:怎么复制淘宝宝贝视频 编辑:程序博客网 时间:2024/05/17 08:44
父类指针指向子类对象
可以将父类指针指向一个子类的对象,这是完全允许的。
//左侧为Tree*,右侧为AppleTree*Tree* p=new AppleTree();
从语法本质上来讲,子类对象的前半部分就是父类,因而可以将子类对象的指针直接转化为父类。
问题:考虑以下情况:
Parent* p=new Child();
p->Test();
那么,此时调用的Test()是父类的还是子类的?
调用者的初衷:因为p指向的是对象是子类对象,所以应该调用子类的Test()。但是,上述实例化调用的是父类的Test。
当一个成员函数需要子类重写,那么在父类应该将其声明为virtual。(有时将声明为virtual的函数为“虚函数”)
例如:
class Parent{public: virtual void Test();};
virtual本身表明该函数即将被子类重写。
阅读全文
0 0
- c++基础之虚拟继承,虚函数virtual
- [C++]virtual关键字:虚函数,虚继承和虚基类
- 【C++】深度探索C++对象模型之虚拟成员函数(virtual member function)
- 虚拟继承,virtual的用法
- c++虚拟函数virtual
- 《Effective C++》读书笔记之item36:绝不重新定义继承而来的non-virtual函数
- C++之绝不重新定义继承而来的non-virtual函数(36)---《Effective C++》
- 继承----有关虚函数和虚拟继承
- C++ virtual 继承
- C++virtual继承
- C++(2)继承/virtual
- [翻译] Effective C++, 3rd Edition, Item 36: 绝不要重定义一个 inherited non-virtual function(通过继承得到的非虚拟函数)
- private virtual 私有虚拟函数
- 虚函数 virtual function 笔记(与继承)----C++学习之路
- 虚拟函数和虚拟继承
- 虚拟继承、虚函数学习总结
- 虚拟继承、虚函数学习总结
- 带虚函数的菱形虚拟继承
- jQuery----文档加载事件
- druid源码研究之Filter
- 自定义回调控制OSG模型进行移动操作
- 2017秦皇岛ICPC
- Matlab学习笔记--数值计算
- c++基础之虚拟继承,虚函数virtual
- File
- JS入门
- 第八周项目三__对称矩阵压缩存储的实现与应用
- JVM开篇---Java内存区域与内存溢出异常
- 强化学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)
- hdu1220 Cube
- Learning Python Part IV 之 属性继承搜索(Attribute Inheritance Search)
- 04-树5 Root of AVL Tree(25 分)