c+练习题带答案_第1页
c+练习题带答案_第2页
c+练习题带答案_第3页
c+练习题带答案_第4页
c+练习题带答案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C++语言属于(C)。C)面向对象语言D)汇编语言A)自然语言C)面向对象语言D)汇编语言下面选项中不属于面向对象程序设计特征的是(C)。A)继承性B)多态性C)相似性D)封装性下列情况中,哪一种情况不会调用拷贝构造函数(B)A)用派生类的对象去初始化基类对象时B)将类的一个对象赋值给该类的另一个对象时C)函数的形参是类的对象,调用函数进行形参和实参结合时D)函数的返回值是类的对象,函数执行返回调用者时以下哪一关键字可用于重载函数的区分(C)A)externB)staticC)constD)virtual下列有关数组的叙述中,正确的是(B)A)C++中数组的存储方式为列优先存储B)数组名可以作为实参赋值给指针类型的形参C)数组下标索引从1开始,至数组长度n结束D)数组指针的语法形式为:类型名*数组名[下标表达式];下列有关继承和派生的叙述中,正确的是(C)A)派生类不能访问通过私有继承的基类的保护成员B)多继承的虚基类不能够实例化C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现若有下面的函数调用:fun(a+b,3,max(n-1,b));其中实参的个数是(A)A)3B)4C)5D)6&下列关于this指针的说法正确的是(B)A)this指针存在于每个函数之中B)在类的非静态函数中this指针指向调用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针在下列关于C++函数的叙述中,正确的是(C)A)每个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己下列运算符中,不能重载的是(C)A)&&B)!=C).D)->下面程序的输出结果是(B)#include<iostream>usingnamespacestd;inti=0;intfun(intn){staticinta=2;a++;returna+n;}voidmain(){intk=5;{inti=2;k+=fun(i);}k+=fun(i);cout<<k;}A)13B)14C)15D)16下面程序的输出结果是(C)#include<iostream>usingnamespacestd;classBase{public:virtualvoidf(){cout<<“f0+”;}voidg(){cout<<“g0+”;}};classDerived:publicBase{public:voidf(){cout<<“f+”;}voidg(){cout<<“g+”;}};p->g();}voidmain(){Derivedd;Base*p=p->g();}以下程序的输出结果是:(D)#include<iostream>usingnamespacestd;intfun(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}voidmain(){cout<<fun("abc")<<endl;}A.0B.1C.2D.3有如下程序段:inti=1;while(1){i++;if(i==10)break;if(i%2==0)cout<<'*';}执行这个程序段输出字符*的个数是(C)10B.3C.4下列关于虚基类的描述中,错误的是(C)使用虚基类可以消除由多继承产生的二义性构造派生类对象时,虚基类的构造函数只被调用一次声明classB:virtualpublicA说明类B为虚基类建立派生类对象时,首先调用虚基类的构造函数有下类定义ClassA{Char*a;Public:A():a(0){}A(char*aa){newchar[strlen(aa)+1]B.char[strlen(aa)+1]C.char[strlen(aa)]D.newchar[sizeof(aa)-1]有如下程序:#include<iostream>usingnamespacestd;classTest{public:Test(){}~Test(){cout<<'#';}};intmain(){Testtemp[2],*pTemp[2];return0;}执行这个程序输出星号(#)的个数为(B)。A)1B)2C)3D)4友元运算符obj++被C++编译器解释为(D)。operator++(obj)B.operator++(obj,0)++()D.++(0)下面程序的运行结果为(C)#includeclassA{intnum;public:A(inti){num=i;}A(A&a){num=++;}voidprint(){cout<<NUM;}<p>};voidmain(){Aa(1),b(a);();();}12如果类A被说明成类B的友元,贝9(D)类A的成员即类B的成员类B的成员即类A的成员类A的成员函数不得访问类B的成员类B不一定是类A的友元下面程序的运行结果是(C)#includevoidmain(){intnum=1;int&ref=num;ref=ref+2;cout<<NUM;<p>num=num+3;cout<<REF<<ENDL;<p>}B.16下列程序的运行结果为(C)#includeinti=0;classA{public:A(){i++;}};voidmain(){Aa,b[3],*c;c=b;cout<<I<<ENDL;}B.3下列字符串中可以用C++语言标识符的是(A)~~bar二填空题在面向对象方法中,类之间共享属性和操作的机制称为继承C++中封装性、继承性和多态性是面向对象思想的主要特征。下列for语句的循环次数为5。for(inta=0,b=1;b&&a<5;a++);C++程序是从main函数开始执行的。派生类构造函数的执行顺序是先执行」^的构造函数,然后执行成员对象的构造函数,最后执行派生类的构造函数。C++语言的基本控制结构为顺序结构、选择结构和循环结构函数重载要求重载的函数必须有和原函数一样的函数名&设置虚基类的目的是解决二义性问题,诵过用关键字virtual表示虚基类。语句coutvvAn,还可表示为coutvvENDL:TOC\o"1-5"\h\z若已知a=10,b=20,则表达式!a<B的值为1友元类的所有成员函数都是另一个类的友元函数三程序填空1.用递归法求从1到n的立方和:f(1)=1(n=1)f(n)=f(n-1)+n3(n>1)#include<iostream>usingnamespacestd:intf(int):intmain(){intn,s:cout<<"inputthenumbern:":cin>>n:s=fn);cout<<"Theresultis"<<s<<endl;return0;}intf(intn){请将下列程序补充完整,使得输出结果为“DestruetorDerivedDestruetorBase”。#include<iostream>usingnamespaeestd;elassBase{publie:virtual~Base()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论