纯虚函数可以有函数体(可以有但最好不要加)。当基类析构函数为纯虚函数时,必须显示加上函数体。
#include <iostream>
using namespace std;
class Base
{
public:
virtual void print() =0;
virtual void print1() = 0
{
cout<< "Base print1" <<endl;
}
virtual ~Base() = 0
{
cout<< "~Base" <<endl;
}
};
class Deriver:public Base
{
public:
void print()
{
cout<< "Deriver print" <<endl;
}
void print1()
{
cout<< "Deriver print1" <<endl;
}
~Deriver()
{
cout<< "~Deriver" <<endl;
}
};
void main()
{
Deriver d;
d.print();
//d.Base::print();//error
d.print1();
d.Base::print1();
}