首页 > 试题广场 >

关于纯虚函数和抽象类的描述中,( )是错误的。

[单选题]
关于纯虚函数和抽象类的描述中,(   )是错误的。
  • 纯虚函数是一种特殊的虚函数
  • 抽象类是指具有纯虚函数的类
  • 一个基类说明有纯虚函数,该基类的派生类一定不再是抽象类
  • 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。
C, 抽象类的派生类依然可以是抽象类.
发表于 2017-06-26 23:51:08 回复(0)
C选项错误,如果基类有纯虚函数,而其派生类中没有重写改函数,则其依然为纯虚函数,这个派生类依然是个抽象类。
发表于 2017-06-28 02:10:14 回复(0)
1.C++通过提供纯虚函数来支持创建抽象数据类型,纯虚函数是必须在派生类中重写的虚函数,任何包含一个或多个纯虚函数的类都是抽象类,抽象类只能作为其他类的基类,不能实例化。
发表于 2018-03-18 19:51:47 回复(0)
如果在派生类中没有对纯虚函数进行定义,那这个派生类也是抽象类.不能用来定义对象
发表于 2017-06-28 15:50:32 回复(0)
包含纯虚函数的类称为抽象类。
发表于 2017-06-26 23:14:02 回复(0)
//纯虚函数就是没有函数体,同时在定义的时候,其函数名后面要加上“= 0”。
class Shape
{
	public :
		virtual double calcArea(); //虚函数
		{return 0;}
		virtual double calcPerimeter()=0 //纯虚函数
		……
};
//纯虚函数也一定是某个类的成员函数,把包含纯虚函数的这个类称之为抽象类,Shape类是一个抽象类、
//对于抽象类来说,C++是不允许它去实例化对象的。也就是说,抽象类无法实例化对象。
//抽象类的子类也可以是抽象类.
//对于抽象类来说,它无法实例化对象,而对于抽象类的子类来说,只有把抽象类中的纯虚函数全部实现之后,那么这个子类才可以实例化对象。

发表于 2021-06-09 09:52:18 回复(0)
C选项说基类有纯虚函数,则其派生类一定不再是抽象类,而实际上抽象类的子类也可以是抽象类,这说明抽象类也可以是子类
D选项又说抽象类只能做基类使用,言下之意就是抽象类不可以是子类,这和抽象类可以做子类矛盾,D也错了。

编辑于 2017-08-07 10:06:48 回复(2)
<p>1. 将函数定义为纯虚函数能够说明,该函数为后代类型提供了可以覆盖的接口,但是这个类中的版本决不会调用。</p><p>2. 含有(或继承)一个或多个纯虚函数的类是抽象基类。除了作为抽象基类的派生类的对象的组成部分,不能创建任何类型的对象。</p>
发表于 2020-04-29 15:47:24 回复(0)
A也是有问题的。
C++规定虚函数可以有实现
其实现只能使用作用域限定符定义在类外

但是本身C++这种规定就是有问题的
即使虚函数在抽象类中有实现
但是抽象类并不能实例化
所以虚函数的所谓实现只能作为参考 不能即插即用
即使逻辑可以完全继承 但是到了派生类还得自己实现一次
发表于 2017-09-15 11:57:39 回复(0)
我觉得A也是错的啊

发表于 2017-09-12 12:11:57 回复(0)