一个关于C++纯虚函数和抽象类的题

关于C++纯虚函数和抽象类的描述中,下面哪个是错误的?
A,纯虚函数是一种特殊的虚函数,它没的具体的实现.
B,抽象类是指具有纯虚函数的类.
C,一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类.
D,抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出.

注:答案是A.
我觉的答案错了,我觉的应该选C.大家帮我看看.谢谢

A的想法确实是错了,选A没问题,但C也错了
A:纯虚拟函数在类中可以有具体的实现代码,但是有纯虚拟函数的类无法有具体的实现而已.纯虚拟函数在派生类中必须被重新定义,但纯虚拟函数的实现代码还是可以被派生类用 BaseClass::TheVirtualFN();这种方式调用.
B:没问题,具有纯虚函数的类确实是抽象类.
C:派生类有权力将从基类继承来的纯虚拟函数再次定义为纯虚函数,也有权力完全不理它.因此派生类可以再次成为抽象类.
D:没问题.但实际上D也不够周全,纯虚拟函数的实现并非一定由派生类给出的,基类也可以给出一个实现,只不过外界能调用到的一定是派生类的实现而已.
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-03-31
抽象类是一个不能有实例对象的类,它唯一的作用时被继承.一个抽象类至少具有一个纯虚函数.你说得没错,我感觉应该选择 C. 该基类的派生类有可能是抽象类.当纯虚函数从基类中继承下来,并没有定义具体实现.它还是纯虚函数,那么,这个派生类仍然是 抽象类.
第2个回答  2012-05-06
的确 答案错了 该选C 对于A 纯虚函数要在派生类来实现具体功能,但是一个抽象类可以派生多个类,所以没有具体的实现,体现了C++多态性
第3个回答  2006-03-31
选C啊!!!CCCCCCCCCCCCCCCCCCCCCCCCC
信我。我现在学C++,应该刚学完!信我!选C

...抽象类—容器内container,其中定义了若干纯虚函数,实现求表面积,体 ...
这样:include<iostream> using namespace std;class container \/\/定义抽象类conyainer {public:container(...)virtual xx(){}; \/\/虚函数 virtual xx(){}; \/\/虚函数 virtual void xxx() const =0; \/\/纯虚函数 private:...};class xxxx:public container \/\/公用派生类xxxx {public:vitual xxx...

...A 抽象类的成员函数中至少有一个是没有实现
抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。如果派生类没有重新定义纯虚函数,而派生类只是继承基类的纯虚函数,则这个派生类仍然还是一个抽象类。如果派生类中给出了基类纯虚函数的实现,则该派生类就不再是抽象类,而是一个可以建立对象的具体类。 追问 那你的意思是这道题选D吗? 回答 是的。析...

关于c++抽象类的问题
C++ 里设计了 “抽象类”目的是用作类似类的“基类”,给派生出的类 同类性质的东西 有同样的名字,但有不同的计算实现的方法。例如,抽象类 叫 平面图形,它有成员函数:面积计算,周长计算,派生出的类,非抽象类:椭圆类,矩形类,三角形类等。抽象类 作为 基类 里 面积计算,周长计算 都是 ...

C++日志(四十四)干货!带你搞清楚什么是抽象类
抽象类定义:在C++中,含有纯虚函数的类称为抽象类。抽象类的特性包括不能实例化。例如,在Animal和其子类Duck中,不能定义Animal类的具体对象。抽象类的主要作用是声明类族对外的接口,但抽象类本身不提供纯虚函数的实现。只有当使用抽象类作为父类时,其子类实现全部纯虚函数后,子类才能实例化。通过...

C++关于抽象类的概念选择题。 图中选择题的C,D选项,哪个对哪个错?求解...
C错,抽象类的子类如果没有实现基类中的纯虚函数,那么该子类仍然是一个抽象类,不能实例化。D对,抽象类不能实例化,只能作为基类派生出子类

下列关于纯虚函数与抽象类的描述巾,错误的是( )。
【答案】:C C。【解析】纯虚函数是在声明虚函数时被“初始化”为0的虚函数。不定义对象而只作为一种基本类型作为继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。抽象类的作用是作为一个类族的共同基类。

C和C++经典笔试题附答案解析
7. 抽象类指的是 D有纯虚函数的类 8. 多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由 C派生类 的构造函数来传递。 9. 多态性是通过 C虚函数 实现的。 10. 如果有如下语句 char str[20]; cin >> str; cout << str; 执行时输入的是“this is a test line!”,...

想问下C++纯虚函数相比于虚函数的直接作用
就完全可以定义一个抽象类,以这个抽象类为参数,只写一个版本的Draw函数就可以了。这个抽象类就是把在屏幕和位图上的绘图行为抽象出来,有点类似GDI+中的Graphics类(但它不是个抽象类)的概念,这个类定义有DrawRect和DrawText等纯虚函数,但是不去实现它,而是让针对屏幕绘图的子类和针对位图绘图的...

抽象类:C++中定义,含有纯虚拟函数的类称为抽象类,它不能生成对象。_百...
第一种是正确的 C++中含有纯虚拟函数并且所有纯虚函数并未完全实现的类称为抽象类,它不能生成对象 第二种说法:当把一个类的构造函数或析构函数的访问权限定义为保护时,这种类可以由其派生类成员函数生成对象啊,这当然就不是抽象类

C\/C++面试题:虚函数与纯虚函数有什么区别
虚函数和纯虚函数有以下所示方面的区别 (1)类里如果声明了虚函数,这个函数是实现的,哪怕是空实现,它的作用就是为了能让这个函数在它的子类里面可以被覆盖,这样的话,这样编译器就可以使用后期绑定来达到多态了。纯虚函数只是一个接口,是个函数的声明而已,它要留到子类里去实现。(2)虚函数在...

相似回答