有下列程序: #include<iostream> using namespace std; class Con { char ID; public: Con():ID(’A’){

admin2010-12-16  18

问题 有下列程序:
#include<iostream>
    using namespace std;
    class Con
    {
          char ID;
       public:
         Con():ID(’A’){cout<<1;}
         Con(char I@D) @:D(I@D) @{cout<<2;}
         Con(Con& c):ID(c.getID()){cout<<3;}
         char getID()const{r

选项

答案13A23B

解析  此题考查的是类的构造函数。一个类如果有两个构造函数,一个是默认构造函数,它没有任何形参;一个是复制构造函数,它的形参是一个自身类型的引用,这种情况下,当建立对象不传入任何构造参数时会调用默认构造函数,而用一个已创建的对象作为构造参数来创建一个新对象时会调用复制构造函数。本题中,构造函数声明对象c1,此时输出“1”;然后调用show()函数,会发生复制构造,输出“3”,show()函数输出“A”:接着通过字符′B′构造对象c2,此时调用第二个构造函数,输出“2”;然后又调用show0函数,输出“3”,在s
转载请注明原文地址:https://kaotiyun.com/show/qsVp777K
0

最新回复(0)