含有(或者未经覆盖直接继承)纯虚函数的类叫抽象基类(abstract base class)。抽象基类负责定义接口,而后续的其他类可以覆盖该接口。如果派生类中没有重新定义纯虚函数,而只是继承基类的纯虚函数,则这个派生类仍然还是一个抽象基类。因为抽象基类含有纯虚函数(没有定义),所以我们不能创建一个抽象基类的对象,但可以声明指向抽象基类的指针或引用。
/************************************************************************* > File Name: abst.cpp > Author: XXDK > Email: v.manstein@QQ.com > Created Time: Sun 26 Feb 2017 10:43:27 PM PST ************************************************************************/#include<iostream>using namespace std;class base {public: virtual void xxdk(void) = 0;};class derived : public base {public: void xxdk(void) override { cout << "xxdk" << endl; }};int main(){ derived dct; base* bp; base& br = dct; bp = &dct; bp->xxdk(); br.xxdk();}
新闻热点
疑难解答