您的位置:首页 > 编程语言 > C语言/C++

C++ virtual 关键字总结

2016-02-17 08:44 323 查看
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;
// ...
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: