我正在看我书中的以下代码:
class Shape
{
public:
Shape(){}
~Shape(){}
virtual long getArea() = 0; // Pure virtual function
virtual long getPerim() = 0;
virtual void draw() = 0;
};
现在它说这些虚函数使类抽象(我从Java中理解),因此无法实例化该类。
但是,它说: “通过在类声明中包含一个或多个虚函数,类是抽象数据类型。”
这是否意味着如果我用一个纯虚函数声明一个类:
class Shape
{
public:
Shape(){}
~Shape(){}
virtual long getArea() = 0; // Only pure virtual function
virtual long getPerim(){}
virtual void draw(){}
};
整个班级都变得抽象了吗?=0
因为如果一个类有 100 多个方法,如果我决定稍后将其抽象化,那么为每个方法编写都会很乏味。