有如下程序: #include<iostream> using namespace std; class Book{ public: Book(char*t=…""){strcpy(title,t);} private: char title[40]; }

admin2020-11-11  21

问题 有如下程序:
#include<iostream>
using namespace std;
class Book{
public:
Book(char*t=…""){strcpy(title,t);}
private:
char title[40];
};
class Novel:public Book{
public:
Novel(char*t=""):Book(t){}
char*Category()const{return"文学";}
};
int main(){
Book*pb;
pb=new Novel();
cout<<pb->Category();
return 0;
}
若程序运行时输出结果是“文学”,则划线处缺失的语句是(    )。

选项 A、char* Category();
B、char* Category()const;
C、virtual char* Category()const;
D、virtual char* Category()const=0;

答案D

解析 根据程序运行的结果为:文学,说明程序执行了派生类Novel中的成员函数*Category()const{return"文学";),所以在基类Book中要把函数*Category()const定义为纯虚函数。
转载请注明原文地址:https://kaotiyun.com/show/s4yp777K
0

相关试题推荐
最新回复(0)