具有一个(或多个)虚纯函数的类是抽象的,它不能用于创建新对象,因此它没有构造函数。
我正在读一本书,书中提供了以下例子:
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;
};
如果类是抽象的,为什么我们有一个构造函数?它稍后使用这个类(Boss
是从 Employee
派生的公共类) :
void Boss::Boss (const char* first, const char* last, double s)
: Employee (first, last)