C++ virtual 关键字总结
2016-02-17 08:44
323 查看
1.虚函数
如果不使用virtual关键字,当使用基类的指针p指向派生类的对象是,调用的p的一个方法(比如print)时,调用的是基类里面的print方法。
如果使用virtual关键字,则可以调用派生类里的print方法。
2.纯虚函数:
纯虚函数所在的类被称为抽象类,只能用来被继承而不能实例化。一个虚拟函数只是提供了一个可被子类型改写的接口。
如果不使用virtual关键字,当使用基类的指针p指向派生类的对象是,调用的p的一个方法(比如print)时,调用的是基类里面的print方法。
如果使用virtual关键字,则可以调用派生类里的print方法。
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(); }
2.纯虚函数:
纯虚函数所在的类被称为抽象类,只能用来被继承而不能实例化。一个虚拟函数只是提供了一个可被子类型改写的接口。
class Query { public: // 声明纯虚拟函数 virtual ostream& print( ostream&=cout ) const = 0; // ... };
相关文章推荐
- C++ protected 访问控制
- c语言结构体用法
- C语言结构体内存对齐(计算结构体内存大小)
- c语言笔试题总结2
- 程序设计第三次作业---C++计算器雏形
- c++编译器何时会生成默认构造函数
- 折半查找法
- hdu 5470 Typewriter
- 冒泡、鸡尾酒、选择、插入、归并、快速排序的C++程序
- C语言深度解剖学习笔记
- C++纯虚函数与抽象类
- C++虚析构函数
- x265-1.8版本-encoder/weightPrediction.cpp注释
- c++对象内存布局模型
- C++语言之类class
- C++语言之类class
- 杂谈之C++中的“错误”处理
- C++语言之类class
- c++成员函数存储方式
- C语言基本概念以及关键字与标识符