我们可以创建一个类抽象而不使其成员函数纯虚拟吗?抽象类是否有任何数据成员?
例如:
class electronic
{
int a;
char b;
public:
virtual void specifications() = 0;
};
这是一个抽象类吗?
答案 0 :(得分:1)
我们可以创建一个类抽象而不使其成员函数纯虚拟吗?抽象类是否有任何数据成员?
有一种技术可以使用protected
构造函数来要求只能公开实例化继承的类。但这并没有使基类真正抽象
是的,抽象类可能包含任意数量的数据成员。
这是一个抽象类吗?
是包含至少一个纯virtual
函数的类是抽象类。
继承类必须实现纯virtual
函数,或者这些也是抽象类。
答案 1 :(得分:0)
如果一个类具有纯虚拟成员,那么它就是抽象的,例如你的例子中的specifications
。
这并不意味着它不能拥有任何其他成员。它可以实现成员函数,它可以具有成员变量,就像任何其他类一样。只是抽象不会限制类中的任何内容,除非您不能创建抽象类的实例。
答案 2 :(得分:0)
抽象类是具有一个或多个纯虚方法的类。抽象类可以有数据成员。