1.虚函数与纯虚函数
虚函数:虚函数是在基类中被声明为virtual,并在派生类中重新定义的成员函数,可实现成员函数的动态重载
纯虚函数:在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。
class A
{
public:
virtual void a() = 0; // a函数为纯虚函数
virtual void a1(); // a1为虚函数
};
2.抽象类
包含纯虚函数的类称为抽象类。由于抽象类包含了没有定义的纯虚函数,所以不能定义抽象类的对象。
所以,判断一个类是不是抽象类,只需要判断它包不包含纯虚函数,而不是虚函数。