• 香槟艺术达到新“高度”:反重力香槟外太空也可享用 2019-03-16
  • 上海交通大学安泰经管学院MBA中心常务副主任陈建科专访 2019-03-16
  • 2018年QS全球毕业生就业竞争力排名 清华全球第十 2019-03-15
  • 我国改革强制性产品认证制度为企业减负 2019-03-10
  • 习近平会见乌兹别克斯坦总统米尔济约耶夫 2019-03-10
  • 在战火中诞生的党中央机关报(连载七) 2019-03-09
  • [大笑]所以说你不仅智商低还不谦虚嘛! 2019-03-09
  • 国际葡萄酒设备技术展亮相宁夏 本土高科技产品引瞩目 2019-03-09
  • 金正恩在板门店韩方一侧的“和平之家”留言簿上题词 2019-03-09
  • 加大对贪官通奸的查处 2019-03-06
  • 外媒关注俄研发太空激光炮:太空战或将在“几年内”爆发 2019-03-04
  • 俄媒:防乌克兰“搅局” 俄海军为世界杯提供战斗支持 2019-03-04
  • NBL联赛揭幕战在雪域高原打响 2019-02-28
  • 大力推动同等待遇 深化同胞心灵契合 2019-02-28
  • 2017年,我和习近平握过手 2019-02-23
  • 求学快递网 计算机等级
    发布资讯
    您当前的位置:首页 > 计算机等级 > 2018年12月计算机二级C++提分练习题及答案(三)

    天津快乐十分前二和值走势图:2018年12月计算机二级C++提分练习题及答案(三)

    上传时间: 2018-11-19 10:11:56 来源:用户上传
    浏览量:639 评论数:0 举报
    导读: 最新试题考后首发,并赠送最详细的答案解析,请广大考生密切关注求学考场公众号,或登录求学考场(//ks.studyems.com/)免费做题。

      选择题

      1.可以用P.a的形式访问派生类对象P的基类成员a,其中a是(  )。

      A.私有继承的公有成员

      B.公有继承的私有成员

      C.公有继承的?;こ稍?/span>

      D.公有继承的公有成员

      2.下面程序的运行结果为(  )。

      #include

      classA

      {

      intnum;

      public:

      A(inti){num=i;)

      A(A&a){num=a.num++;}

      voidprint(){cout<  };

      voidmain()

      {

      Aa(1),b(a);

      a.print();

      b.print();

      }

      A.11B.12

      C.21D.22

      3.设有定义charstr[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是(  )。

      A.cin.get(str,strlen(str));

      B.cin.getline(str,strlen(str));

      C.cin>>str;

      D.cin.read(str,strlen(str));

      4.下列程序的输出结果为(  )。

      #include

      classTestClass

      {

      public:

      TestClass(){val++;}

      static,intval;

      };

      intTestClass::val=0;

      voidmain()

      {

      TestClasscsl;

      cout<  TestClasscs2;

      TestClasscs3,cs4;

      cout<  }

      A.O3

      B.13

      C.14

      D.24

      5.有以下类定义:

      classMyClass

      {

      private:

      intid;

      chargender;

      char*phone;

      public:

      MyClass():id(0),gender(’#’),phone(NULl){}

      MyClass(intn0,charge=’#’,char*ph=NULL)

      {id=no;gender=ge;phone=ph;}

      };

      下列类对象定义语句中错误的是(  )。

      A.MyClassmyObj;

      B.MyClassmyObj(11,"13301111155");

      C.MyClassmyObj(12,’m’);

      D.MyClassmyObj(12);

      6.下列是关于派生类声明的开始部分,其中正确的是(  )。

      A.classvirtualB:publicA

      B.virtualclassB:publicA

      C.classB:publicAvirtual

      D.classB:virtualpublicA

      7.如果类A被说明成类B的友元,则(  )。

      A.类A的成员即类B的成员

      B.类B的成员即类A的成员

      C.类A的成员函数不得访问类B的成员

      D.类B不一定是类A的友元

      8.下列关于虚基类的描述,错误的是(  )。

      A.设置虚基类的目的是为了消除二义性

      B.虚基类的构造函数在非虚基类之后调用

      C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用

      D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数

      9.下列关于多态性的描述,错误的是(  )。

      A.C++语言中的多态性分为编译时的多态性和运行时的多态性

      B.编译时的多态性可通过函数重载实现

      C.运行时的多态性可通过模板和虚函数实现

      D.实现运行时多态性的机制称为动态绑定

      10.若有如下程序:

      #include

      usingnamespacestd;

      classTestClassl

      {

      private:

      inta;

      public:

      TestClassl(inti)

      {

      a=i:

      }

      voiddisp(  )

      {

      cout<  }

      };

      classTestClass2

      {

      private:

      intb:

      public:

      TestClass2(intj)

      {

      b=j;

      }

      voiddisp()

      {

      cout<  }

      };

      classTestClass3:publicTestClass2,publicTestClassl

      {

      private:

      intc;

      public:

      TestClass3(intk):TestClass1(k-2),TestClass2(k+2)

      {

      c=k:

      }

      voiddisp()

      {

      TestClasssl::disp();

      TestClasss2::disp();

      cout<  }

      };

      intmain()

      {

      TestClass30bj(10);

      obj.disp();

      return0;

      }

      程序执行后的输出结果是(  )。

      A.10,10,10

      B.10,12,14

      C.8,10,12

      D.8,12,10

      11.在下列程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD(  )。

      #include

      usingnamespacestd;

      classA

      {

      public:A(){cout<<’A’;}

      };

      classB:

      {

      public:B(){cout<<’B’;}

      };

      classC:virtualpublicA

      {

      public:C(){cout<<’C’;}

      };

      classD:publicB,publicD

      {

      public:D(){cout<<’D’;}

      };

      voidmain(){D04;}

      A.publicA

      B.privateA

      C.protectedA

      D.virtualpublicA

      12.有如下程序:

      #include

      usingnamespacestd;

      classAA{

      intn;

      public:

      AA(intk):n(k){}

      intget(){returnn;}

      intget()const{returnn+1;}

      };

      intmain()

      {

      AAa(5);

      constAAb(6);

      cout<  return0;

      }

      执行后的输出结果是()。

      A.55

      B.57

      C.75

      D.77

      13.有如下程序:

      #include

      usingnamespacestd;

      classDemo

      {

      public:

      Demo(){cout<<"defaultconstructor\n";}

      Demo(constDemo&x){cont<<"copyconstruc-

      tor\n";}

      };

      DemouserCode(Demob){Democ(b);returnC;}

      intmain()

      {

      Demoa;d;

      cout<<"callinguserCode()\n";

      d=userCode(a):

      return0;

      }

      执行上面程序的过程中,构造函数Demo(  )和Demo(constDem0&x)被调用的次数分别是(  )。

      A.1和1

      B.1和2

      C.2和3

      D.2和4

      14.有如下程序:

      #include

      usingnamespacestd;

      classDA{

      intk;

      public:

      DA(intx=1):k(x){}

      ~DA(){cout<  };

      intmain(){

      DAd[]={DA(3),DA(3),DA(3));

      DA+p=newDA[2];

      delete[]p;

      return();

      }

      这个程序的输出结果是(  )。

      A.111

      B.333

      C.11333

      D.11133

      15.有如下程序:

      #include

      usingnamespacestd;

      classMyClass{

      public:

      MyClass(intx):val(x){}

      voidPrint()const{cout<<"const:val="<<  voidPrint(){cout<<"val="<  private:

      intval;

      };

      intmain(){

      constMyClassobj1(10);

      MyClassobj2(20);

      obj1.Print();

      obj2.Print();

      return0;

      }

      程序的输出结果是(  )。

      A.va1=10const:va1=20

      B.const:va1=10const:va1=20

      C.const:va1=10val=20

      D.val=10va1=20

      16.关于函数中的<返回类型>。下列表述中错误的是(  )。

      A.<返回类型>中有可能包含关键字int

      B.<返回类型>中有可能包含自定义标识符

      C.<返回类型>中衣可能包含字符*

      D.<返回类型>中可能包含[]

      17.Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是(  )。

      Samplea[2],*p=newSample;

      A.0

      B.1

      C.2

      D.3

      18.有如下两个类定义:

      classXX{

      private:

      doublex1;

      protected:

      doublex2;

      public:

      doublex3;

      };

      claseYY:protectedXX{

      private:

      doubley1;

      protected;

      doubley2;

      public:

      doubley3;

      };

      在类YY中?;こ稍北淞康母鍪?  )。

      A.1

      B.2

      C.3

      D.4

      19.下列关于运算符重载的描述中,错误的是(  )。

      A.可以通过运算符重载在C++中创建新的运算符

      B.赋值运算符只能重载为成员函数

      C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象

      D.重载类型转换运算符时不需要声明返回类型

      20.下列关于类模板的描述中,错误的是(  )。

      A.类模板的成员函数都是模板函数

      B.可以为类模板参数设置默认值

      C.类模板描述了一组类

      D.类模板中只允许有一个类型参数

      参考答案

      1.D?!窘馕觥恐挥泄屑坛械墓谐稍辈拍鼙慌缮嗟亩韵笾苯臃梦?,其他的情况都会因为访问权限问题产生错误。

      2.C?!窘馕觥勘咎饪疾榭忌钥奖垂乖旌恼莆?。因为++运算是右结合的,所以在使用a对b赋值时,b的hum变为1,而a的num变为2(先赋值再自加)。

      3.D?!窘馕觥勘咎饪疾閏in流对象的几种成员函数get,getline,read及流提取符>>的使用规则。

      4.C?!窘馕觥坑芍骱齧ain入手,定义TestClass类的对象cs1,执行cs1.va1,其中va1为静态变量,根据intTestClass::val=0;初始化,TestClass中的TestClass(){val++;}构造函数执行后,val值为1。主函数中接着定义对象cs2,cs3,cs4。执行cout<

      5.B?!窘馕觥勘咎饪疾楣乖旌挠τ?。对象建立用初始化列表对数据成员进行时。列表中的参数类型要与构造函数中形参类型一致。B选项中第二个参数为13301111155,是字符串,而构造函数中第二个形参为char型,两者不一致造成错误。

      6.D?!窘馕觥可髋缮嗟囊话阈纬晌猚lass派生类名:[继承方式]基类名。其中继承方式包括public、private和protected。而virtual为C++中的关键字,所以选项C错。虚函数的使用方法是在基类用virtual声明成员函数为虚函数。

      7.D?!窘馕觥勘咎饪疾榈氖怯言嗟亩ㄒ澹豪郃为类B的友元类,则类A的所有成员函数都是类B的友元函数,但反之则不一定成立。

      8.B?!窘馕觥啃榛嗟囊刖褪俏讼逍?,其构造函数的调用仍然是按照继承的顺序进行的,对于多个虚基类则按它们说明的次序调用,虚基类的构造函数先于非虚基类的构造函数执行。

      9.C?!窘馕觥勘嘁胧钡亩嗵允峭ü卦睾湍0逄逑值?,运行时的多态性是通过虚函数体现的。

      10.D?!窘馕觥渴紫榷ㄒ錞estClass3的对象obj,参数为10。其中TestClass3为TestClass1和TestClass2的派生类。然后调用disp成员函数。disp中首先执行TestClassl::disp();,然后执行TestClass2::disp();,最后执行输出语句cout<

      11.D?!窘馕觥坑芍骱齧ain入手,定义了类D对象obi。其中D为类B和C的公有继承,A是C的虚基类。题目中要求的输出结果为ABCD,依次为类A、类B、类C、类D中构造函数的输出语句。为了保证基类通过多条路径被派生类继承,即保证A只被继承一次,输出一个A,所以不但需要声明A为C的虚基类,同样也要声明A为B的虚基类。

      12.B?!窘馕觥克胶卦?,是指同一个函数名可以对应着多个函数的实现,类AA中定义了两个9et()函数,一个为普通成员函数,另一个为常成员函数。一般对象a既可以调用普通成员函数get,也可以调用常成员函数get,但是由于常成员函数不能更新对象的数据成员,所以题中通过对象a调用的函数为普通成员函数get(),返回值为5。常对象b只能调用常成员函数,所以题中通过对象b调用的函数为常成员函数get(),返回值为7。

      13.C?!窘馕觥亢鼶emo()为构造函数,而Demo(constDemo&x)为复制构造函数。C++在创建一个对象时,会自动调用类的构造函数,所以语句"Demoa,d;"将调用函数Demo()2次。当一个对象作为实参传递给函数时为初始化形参,要调用拷贝构造函数;在函数返回一个对象时调用拷贝构造函数。由此可知语句d=userCode(a);调用拷贝构造函数3次。

      14.C?!窘馕觥勘咎饪疾榈氖俏龉购投韵蟮纳嫫?。在主函数中,首先定义了一个DA类对象数组d,从初始化列表中可以看出,它包含三个对象;然后通过new运算符动态创建了一个DA类的对象数组,并将首地址赋给DA类指针P;接着通过delete[]运算符销毁指针P所指向的数组,故此时会输出11。最后函数结束,销毁前面定义的对象数组d,会输出333。故最后的输出结果是11333。

      15.D?!窘馕觥吭诮⒗喽韵笫?,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承的声明顺序;执行成员对象的构造函数,调用顺序按照各个成员在类中的声明顺序;执行自身的构造函数。根据以上总结以及题意可知答案选择D选项。

      16.B?!窘馕觥?lt;返回类型>又称函数类型,表示一个

      函数所计算(或运行)的结果值类型,这里的类型可以是预定义类型(如int)、复合类型(如double*)、用户定义类型(如枚举类),若返回值只做更新(或设置)等操作,则该函数返回类型为void类型,函数类型和内置数组不能作为返回类型,但类类型和容器类型可以被直接返回。

      17.D?!窘馕觥抗乖旌诙韵蟊淮唇ㄊ庇上低匙远饔?,本题共创建3个对象。

      18.C?!窘馕觥颗缮啻踊啾;ぜ坛衏lassYY:pro-tectedXX时,基类的公有成员在派生类中变为?;こ稍?,基类的?;こ稍痹谂缮嘀腥匀皇潜;こ稍?本题中YY本身有一个?;こ稍眣2,再加上基类XX的x2和x3,故选C。

      19.A?!窘馕觥吭怂惴闹卦厥钦攵訡++中原有运算符进行的,不能通过重载创造新的运算符。

      20.D?!窘馕觥坷嗄0迨且幌盗邢喙乩嗟哪0?,类成员组成相同,成员函数的源代码形式相同,所不同的是所针对的类型。类模板的成员函数都是模板函数,在用类模板定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法按函数模板的方式省略模板实参。但可以为类模板的参数设置默认值。由此可知应选D。


    赞(27 不喜欢(0 收藏
    免责声明 : 本站为免费网络服务提供商,为注册用户提供免费信息存储空间服务,网站所有信息均为用户自行发布并由用户承担相应法律责任,本站不对用户发布的信息进行修改及审核,不对发布信息的真实性及合法性负责,如涉及侵权或者信息违法的请你及时与本站联系进行删除以保障你的合法权益。详情可阅读本站免责声明
    大家都在看
    >
    • 2019年3月计算机一级考试MsOffi...

      03-11 去看看
    • 2019年3月计算机一级Photosho...

      03-16 去看看
    • 2019.3计算机二级VFP考试操作考前...

      03-05 去看看
    • 2019年3月计算机三级考试网络技术章节...

      02-20 去看看
    • 2019年3月计算机一级Photosho...

      03-16 去看看
    • 2019年3月计算机二级MSOffice...

      03-12 去看看
    • 2019年3月计算机二级C语言考试选择题...

      02-25 去看看
    • 2019年3月计算机一级考试MsOffi...

      03-11 去看看
    • 2019年3月计算机四级网络工程师考前必...

      03-11 去看看
    • 2019年3月计算机三级考试网络技术章节...

      02-20 去看看
    • 2019年3月计算机三级考试网络技术自测...

      03-05 去看看
    • 2019年3月计算机一级考试MsOffi...

      03-04 去看看
    • 2019年3月计算机三级考试网络技术章节...

      02-20 去看看
    • 2019年3月计算机四级网络工程师考前冲...

      02-26 去看看
    • 2019年3月计算机二级MSOffice...

      03-12 去看看

    建议反馈表

    非常感谢您给我们提出的问题或建议,我们会尽快处理! ×

    反馈类型:

    问题描述:

    您的联系方式:

    客服电话:020-2986-0669

    ×
    投诉举报
    选择举报类型
    ×
    投诉举报
    填写并确认举报信息
    为了确保问题能及时得到处理,请务必保证您提交的信息真实有效、清晰完整

    *举报理由:

    *举报描述:

    截图证明:

    ×
    投诉举报
    填写并确认举报信息
    为了确保问题能及时得到处理,请务必保证您提交的信息真实有效、清晰完整

    *举报描述:

    *原文链接:

    联系方式:

    截图证明:

    ×
    投诉举报

    当您发现本站有涉及个人的侵权内容时,建议您先尝试与当事人沟通解决问题。 如果您无法联系到当事人,您可通过此渠道提交举报诉求。

    根据求学快递网侵权举报规范,您需要向我们提交您的个人信息,其中包括身份证明。如您确认已准备齐全,可点击下方按钮进入诉求提交页。

    如果您举报的仅仅是辱骂等不友善内容,无需提交证明资料,可返回上一步点击【包含有害内容>辱骂、歧视、挑衅和诽谤等不友善信息】直接举报。
    ×
    投诉举报

    当您发现本站有涉及企业的侵权内容时,建议您先尝试与当事人沟通解决问题。 如果您无法联系到当事人,您可通过此渠道提交举报诉求。

    根据求学快递网侵权举报规范,您需要向我们提交您企业和个人的证明材料。如您确认已准备齐全,可点击下方按钮进入诉求提交页。

    如果您举报的仅仅是辱骂等不友善内容,无需提交证明资料,可返回上一步点击【包含有害内容>辱骂、歧视、挑衅和诽谤等不友善信息】直接举报。
    ×
    投诉举报
    填写并确认举报信息
    为了确保问题能及时得到处理,请务必保证您提交的信息真实有效、清晰完整

    *举报理由:

    举报描述:

    截图证明:

  • 香槟艺术达到新“高度”:反重力香槟外太空也可享用 2019-03-16
  • 上海交通大学安泰经管学院MBA中心常务副主任陈建科专访 2019-03-16
  • 2018年QS全球毕业生就业竞争力排名 清华全球第十 2019-03-15
  • 我国改革强制性产品认证制度为企业减负 2019-03-10
  • 习近平会见乌兹别克斯坦总统米尔济约耶夫 2019-03-10
  • 在战火中诞生的党中央机关报(连载七) 2019-03-09
  • [大笑]所以说你不仅智商低还不谦虚嘛! 2019-03-09
  • 国际葡萄酒设备技术展亮相宁夏 本土高科技产品引瞩目 2019-03-09
  • 金正恩在板门店韩方一侧的“和平之家”留言簿上题词 2019-03-09
  • 加大对贪官通奸的查处 2019-03-06
  • 外媒关注俄研发太空激光炮:太空战或将在“几年内”爆发 2019-03-04
  • 俄媒:防乌克兰“搅局” 俄海军为世界杯提供战斗支持 2019-03-04
  • NBL联赛揭幕战在雪域高原打响 2019-02-28
  • 大力推动同等待遇 深化同胞心灵契合 2019-02-28
  • 2017年,我和习近平握过手 2019-02-23