C++ 纯虚函数
#include <iostream> #include <vector> using namespace std; class reslut { public: reslut() { } int get_a() { return a; } int get_b() { return b; } void set_a(int x) { this->a = x; } void set_b(int y) { this->b = y; } ~reslut() { } virtual int test() = 0; protected: int a; int b; }; class AA : public reslut { public: int test() //重写父类的纯虚函数 { return a + b; } }; class BB :public reslut { public: int test() //重写父类的纯虚函数 { return a*b; } }; int main() { AA test1; test1.set_a(1); test1.set_b(2); int reslut1= test1.test(); BB test2; test2.set_a(1); test2.set_b(2); int reslut2 = test2.test(); return 0; }
当类中有纯虚函数时,该类无法被实例话,只能通过子类继承,并重写该纯虚函数时,该类中的其他函数以及成员才可以通过实例化子类后,使用父类的成员以及函数