纯虚函数和抽象类
想要在基类中定义虚函数实现多态,但是有不希望这个基类可以实例化,可以将虚函数定义为纯虚函数。
格式如下: virtual 返回值类型 函数名() = 0; 例: virtual int fun() = 0;
纯虚函数的特性:
1.包含纯虚函数的类称为抽象类。之所以说它抽象,是因为它无法实例化,也就是无法创建对象。原因很明显,纯虚函数没有函数体,不是完整的函数,无法调用,也无法为其分配内存空间。
#include <iostream> using namespace std; class Person { public: // 定义纯虚函数 virtual void print() = 0; }; class Student : public Person { public: void print() { cout << "student" << endl; } }; int main(int argc, char *argv[]) { Person *p = new Student; p->print(); return 1; } 输出: student
浙公网安备 33010602011771号