抽象类 (C++)

抽象类作为可从中派生更具体的类的一般概念的表达。 您不能创建抽象类类型的对象;但可以使用指向抽象类类型的指针和对它们的引用。

包含至少一个纯虚函数的类被视为抽象类。 派生自抽象类的类必须实现纯虚函数或者它们必须也是抽象类。

可使用 pure-specifier 语法(在类协议实现中描述)将虚函数声明为“纯”虚函数。 请考虑虚函数中所述的示例。 类 Account 的用途是提供通用功能,但 Account 类型的对象太通用,因此没什么用。 因此,Account 是抽象类的很合适的候选项:

// deriv_AbstractClasses.cpp
// compile with: /LD
class Account {
public:
   Account( double d );   // Constructor.
   virtual double GetBalance();   // Obtain balance.
   virtual void PrintBalance() = 0;   // Pure virtual function.
private:
    double _balance;
};

此声明与上一个声明的唯一区别是,PrintBalance 是用 pure 说明符 (= 0) 声明的。

请参见

参考

派生类