计算机二级C++笔试习题和详解

计算机二级C++笔试习题和详解

ID:38373349

大小:32.00 KB

页数:3页

时间:2019-06-11

计算机二级C++笔试习题和详解_第1页
计算机二级C++笔试习题和详解_第2页
计算机二级C++笔试习题和详解_第3页
资源描述:

《计算机二级C++笔试习题和详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、(4)有如下程序: #includeusing namespace std;class C1{  public:    ~C1(){cout<<1;}};class C2:public C1{  public:    ~C2(){cout<<2;}};int main(){  C2 cb2;  C1 *cb1;  return 0;}运行时的输出结果是A)121  B)21  C)211  D)12B实际上此处的C1*cb1并没有创建类的对象,它只是一个指针,因此不存在类对象的

2、销毁,即C1*cb1不会引起输出。故答案必定为2个数字的,要么B,要么D。而C2是C1的子类(即C2继承C1),构造子类的时候必须先构造父类,而销毁的时候必须先销毁子类,然后销毁父类,因此程序结束时先销毁子类,输出2,再销毁父类,输出1。故最终结果是21,选B(5)有如下程序:  #includeusing namespace std;class Publication{ //出版物类    char name[30];  public:    Publication(char

3、 *name="未知名称"){      strcpy(this->name,name);    }    const char * getName()const{return name;}    virtual const char * getType()const{return"未知类型";}};class Book:public Publication{//书类  public:    Book(char *name):Publication(name){}    virtual const

4、 char * getType()const{return"书";}};void showPublication(Publication &p){  cout<

5、,首先它声明并创建了Book类型的变量,并且初始化该类里面的成员变量name为“精彩人生”(注意,Book以public形式继承自Publication,Publication中的变量可以被Book类所用,即Publication中的name也是Book的成员变量),那么这一句是什么意思呢——“Publication(char *name="未知名称")”,这句就是说,如果在创建Publication或者Book对象时,如果没有传入初始的参数(此处为name),那么name就被赋值为“未知名称”,

6、但是此处main中已经给了初始化参数“精彩人生”,所以此处那么就变成“精彩人生啦”。“virtual const char * getType()const{return"未知类型";}”这句在Publication这个类中,带有virtual的函数是虚函数,表示如果有子类,那么子类中必须重写该函数,因此Book中将函数重写为“virtual const char * getType()const{return"书";}”。因此对于book这个变量(不是Book这个类型,book是一个变量),当它

7、调用getType()的时候其实就是执行这个函数“virtual const char * getType()const{return"书";}”。好了,现在我们看看main的第二行,这行调用了showPublication这个函数,传入的参数是book,那么我们看一下showPublication函数的内容——“cout<

8、,由于p实际是book,所以即便函数类型里面写它是“Publication &p”(&表示引用调用,即修改p本身实际等于修改book)Publication类型,但其实它是Book类型,因此getType()就会使用Book里面的成员函数返回“书”,输出,然后再输出冒号,然后调用getName(),子类中无getName()函数,所以使用父类的此函数,返回“精彩人生”,输出。所以选择D(5)有如下程序: #include using namespace std;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。