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

admin2019-06-04  15

问题 有如下程序:
    #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://jikaoti.com/ti/g8A0FFFM
0

最新回复(0)