c++ virtual
来源:互联网 发布:知乎 大泽佑香 编辑:程序博客网 时间:2024/06/05 21:04
类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象时,对point的print函数的调用实际上是调用了Derived的print函数而不是Base的print函数。这是面向对象中的多态性的体现
基类的函数调用如果有virtual则根据多态性调用派生类的,如果没有virtual则是正常的静态函数调用,还是调用基类的。
class Base{public:Base(){}public: virtual void print(){cout<<"Base";}};class Derived:public Base{public:Derived(){}public: void print(){cout<<"Derived";}};int main(){ Base *point=new Derived(); point->print();}
Output:Derived
http://www.cnblogs.com/Yogurshine/archive/2013/01/10/2855654.html
阅读全文
0 0
- c++virtual
- 关于C#:abstract,virtual
- C++Virtual详解
- Virtual & Abstract (C++)
- C#virtual override new
- C++ virtual 继承
- C# 关键字--virtual
- c++------virtual const static
- C++virtual继承
- c++Virtual关键字
- C++:virtual关键字
- C#---virtual与abstract
- C++(2)继承/virtual
- 【温故知新C/C++】vector||max ||virtual(C++)
- virtual和override(C#)
- 【C++】template vs virtual function
- C#virtual,override,new学习
- 虚表(C++)virtual table
- 笔试_公司(2)
- (M)DFS:129. Sum Root to Leaf Numbers
- PKU Helper 招新面试二
- 双精度有效位
- python 更换windows壁纸(简单)
- c++ virtual
- Cocos2dx 环境编译出错:jni/Android.mk: Cannot find module with tag 'scripting/lua-bindings'
- Android学习-ListView
- Linux获取当前目录
- C语言几种输入 & 输出
- 射线检测与LayerMask
- 笔试_常见笔试题
- 游戏体验偶感
- 工作1年,写于秋中