具有一个(或多个)虚拟纯函数的类是抽象的,并且它不能用于创建新对象,因此它没有构造函数.
我正在读一本提供以下示例的书:
class Employee {
public:
Employee(const char*, const char*);
~Employee();
const char* getFirstName() const;
const char* getLastName() const;
virtual double earnings() const=0 // pure virtual => abstract class
virtual void print() const
private:
char* firstName, lastName;
};
Run Code Online (Sandbox Code Playgroud)
如果类是抽象的,为什么我们有一个构造函数?它稍后使用此类(Boss是公共派生的Employee):
void Boss::Boss (const char* first, const char* last, double s)
: Employee (first, last)
Run Code Online (Sandbox Code Playgroud)