C++ virtual 关键字总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ virtual 关键字总结相关的知识,希望对你有一定的参考价值。
1.虚函数
如果不使用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++ virtual 关键字总结的主要内容,如果未能解决你的问题,请参考以下文章