抽象类 (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) 声明的。