纯虚函数
例如
class A {
public:
virtual void test()= 0;
};
注意,没有花括号。
virtual void test() = 0;
抽象基类
含有(或者未经覆盖直接继承)纯虚函数的类是抽象基类。比如前面的类 A 。
只要继承的纯虚函数没有写花括号,它就还是纯虚函数。
class B :public A {
void test(int);//还是纯虚函数
};
有了花括号,哪怕为空,也不是纯虚函数。
class B :public A {
void test() {};
};
抽象基类不能被实例化。
但是可以定义抽象基类的指针。
虚基类和抽象类不是一个概念。
本文详细介绍了C++中纯虚函数的概念及其在抽象基类中的应用。纯虚函数在声明时使用=0标记,使得包含它的类成为无法实例化的抽象基类。通过实例演示了如何在派生类中实现纯虚函数。
145

被折叠的 条评论
为什么被折叠?



