C-C++程序设计案例实战-知到答案、智慧树答案_第1页
C-C++程序设计案例实战-知到答案、智慧树答案_第2页
C-C++程序设计案例实战-知到答案、智慧树答案_第3页
C-C++程序设计案例实战-知到答案、智慧树答案_第4页
C-C++程序设计案例实战-知到答案、智慧树答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

C-C++程序设计案例实战-知到答案、智慧树答案第一章单元测试1、问题:C语言程序从什么开始执行?选项:A:程序中的main函数B:包含文件中的第一个函数C:程序中的第一条可执行语句D:程序中第一个函数答案:【程序中的main函数】2、问题:C语言程序的工作过程是:编辑、编译、连接、运行。选项:A:对B:错答案:【对】3、问题:下列正确的标识符是?选项:A:a2_iB:a[i]C:-a1D:inti答案:【a2_i】4、问题:C语言中的简单数据类型包括?选项:A:整形、实型B:整形、实型、逻辑型C:整形、实型、字符型D:整形、字符型答案:【整形、实型、字符型】5、问题:在C++程序中,表达式5%2的结果是?选项:A:1B:2C:2.5D:3答案:【1】6、问题:若intx=2,y=3,z=4;则表达式x选项:A:0B:3C:2D:4答案:【3】7、问题:C++的程序是由什么组成的?选项:A:过程B:子程序C:函数D:主程序和子程序答案:【函数】8、问题:以数字0开头的整数是八进制整形常量。选项:A:对B:错答案:【对】9、问题:要求运算数据必须是整形的运算符号是?选项:A:/B:%C:<D:!答案:【%】10、问题:C++程序的三种基本结构是顺序、选择、循环。选项:A:错B:对答案:【对】第二章单元测试1、问题:结构化程序设计的三种基本结构是顺序结构、循环结构和选择结构。选项:A:错B:对答案:【对】2、问题:switch语句和if语句不能混合使用。选项:A:错B:对答案:【错】3、问题:switch语句中可以没有break语句。选项:A:对B:错答案:【对】4、问题:为了避免嵌套的if-else语句的二义性,C/C++语言规定else总是与()组成配对关系。选项:A:同一行上的ifB:在其之前未配对的ifC:在其之前未配对的最近的ifD:距离最近的if答案:【在其之前未配对的最近的if】5}、问题:下述程序的输出结果是:***intmain(){inta=5,b=0,c=0;if(a=b+c)cout<<'***';elsecout<<'$$$';return0;选项:A:对B:错答案:【错】6、问题:以下程序的运行结果是s=2,t=3#includeusingnamespacestd;intmain(){ints=1,t=1,a=5,b=2;if(a>0)s++;if(a>b)t+=s;elseif(a==b)t=5;elset=2*s;cout<<'s='<选项:A:错B:对答案:【对】7、问题:以下程序的运行结果是2.intmain(){intk=2;switch(k){case1:cout<选项:A:对B:错答案:【错】8、问题:下面程序段执行结果为charc='0'+2;switch{{case1:cout<<'A';break;case'2':cout<<'B';case2:cout<<'C';default:cout<<'D';};选项:A:BCB:BCDC:AD:D答案:【BCD】9、问题:以下是if语句的基本形式;if(表达式)语句,其中“表达式”:选项:A:必须是逻辑表达式B:必须是关系表达式C:必须是逻辑表达式或关系表达式D:可以是任意合法的表达式答案:【可以是任意合法的表达式】10、问题:if和else语句必须同时使用。选项:A:错B:对答案:【错】第三章单元测试1、问题:C/C++语言中while和do-while循环的主要区别是选项:A:while的循环控制条件比do-while的循环控制条件严格B:do-while的循环体不能是复合语句C:do-while的循环体至少无条件执行一次D:do-while允许从外部转到循环体内答案:【do-while的循环体至少无条件执行一次】2、问题:以下正确的描述是选项:A:只能在循环体内和switch语句体内使用break语句B:从多层循环嵌套中退出时,只能使用goto语句C:continue语句的作用是结束整个循环的执行D:在循环体内使用break语句或continue语句的作用相同答案:【只能在循环体内和switch语句体内使用break语句】3、问题:若有以下语句intx=3;do{x-=2;cout<选项:A:是死循环B:输出的是1C:输出的是3和0D:输出的是1和-2答案:【输出的是1和-2】4、问题:下面程序段的执行结果是inta,b,c,t;a=1;b=2;c=2;while(a选项:A:1,2,0B:2,1,1C:1,1,0D:2,1,0答案:【1,2,0】5、问题:当break语句用于do-while、for、while循环语句中时,可使程序终止循环。选项:A:对B:错答案:【对】6、问题:break和continue语句与if语句连用时,对if语句没有影响。选项:A:错B:对答案:【对】7、问题:以下程序段中,语句cout<0;m--){if(m%6==0)break;cout<选项:A:对B:错答案:【对】8、问题:以下程序段中,语句cout<0;m--){if(m%6==0)continue;cout<选项:A:错B:对答案:【错】9、问题:若定义inti,a,k,s;是死循环的是选项:A:a=1;while(a<10){if(a<5)continue;a++;}B:i=0;while(1){i++;if(i==20)break;}C:k=0;do{k++;}while(k>0);D:for(i=1;;i++){if(i=-10)break;s=s+i;}答案:【a=1;while(a<10){if(a<5)continue;a++;};k=0;do{k++;}while(k>0);】10、问题:以下程序的运行结果是153.#includeusingnamespacestd;intmain(){intn;longt=1,s=0;for(n=1;n<=5;n++){t*=n;s+=t;}cout<选项:A:错B:对答案:【对】第四章单元测试1、问题:关于函数嵌套,说法正确的是?选项:A:函数的定义和调用均可以嵌套B:函数的定义和调用均不可以嵌套C:函数的定义可以嵌套,但函数的调用不可以嵌套D:函数的定义不可以嵌套,但函数的调用可以嵌套答案:【函数的定义不可以嵌套,但函数的调用可以嵌套】2、问题:关于函数参数,说法正确的是?选项:A:实参与其对应的形参共同占用一个内存单元B:实参与其对应的形参各占用独立的内存单元C:形参是虚拟的,不占用内存单元D:只有当实参和形参同名才占用一个内存单元答案:【实参与其对应的形参各占用独立的内存单元】3、问题:下面关于函数的定义和实现,正确的是?选项:A:intFun(intx,inty){returnx+y;}B:voidFun(doublex,y){......}C:longFact(intn);{......return;}D:longFact(intn){intn;......return;}答案:【intFun(intx,inty){returnx+y;}】4、问题:对函数不正确的描述是?选项:A:允许函数递归调用B:当用数组名作形参时,形参数组改变可使实参数组随之改变C:函数形参的作用范围只是局限于所定义的函数内D:函数说明必须在主调函数之前答案:【函数说明必须在主调函数之前】5、问题:在调用函数时,如果实参是简单变量,它对应形参之间的数据传递方式是?选项:A:地址传递B:由实参传给形参,再由形参传回实参C:单向值传递D:传递方式由用户指定答案:【单向值传递】6、问题:C语言中函数返回值的类型是由()决定的。选项:A:形参的数据类型B:return语句中的表达式类型C:调用该函数时的实参的数据类型D:函数定义时指定的类型答案:【函数定义时指定的类型】7、问题:在函数调用时,以下说法正确的是?选项:A:函数调用后必须带回返回值B:实际参数和形式参数可以同名C:函数间的数据传递不可以使用全局变量D:主调函数和被调函数总是在同一个文件里答案:【实际参数和形式参数可以同名】8、问题:return语句作为函数的出口,在一个函数体内只能有一个。选项:A:对B:错答案:【错】9、问题:在函数体定义的变量为局部变量,只在该函数内有效。选项:A:错B:对答案:【对】10、问题:声明函数原型时,可为一个或多个形参指定默认参数值,如:intf(intx=1,inty=5,intz);。选项:A:对B:错答案:【错】第五章单元测试1、问题:一个数组中的所有元素可以具有不同的数据类型。选项:A:对B:错答案:【错】2、问题:已知inta[3][4];则a[1,3]是对数组元素的正确引用。选项:A:对B:错答案:【错】3、问题:若二维数组A有m列,则计算任一元素A[i][j]在数组中相对位置的公式为?(假设A[0][0]位于数组的第一个位置上)选项:A:i*m+jB:i*m+j-1C:j*m+iD:i*m+j+1答案:【i*m+j+1】4、问题:若定义a[][3]={1,2,3,4,5,6,7};则a数组中行的大小是?选项:A:2B:4C:3D:不确定答案:【3】5、问题:下面合法的数组定义是?选项:A:intx[]={1,2,3,4};B:intx[][]={{2,1},{3,2}};C:charstr={“abcde”};D:charstr[4]=”abcd”;答案:【intx[]={1,2,3,4};】6、问题:对一维整型数组的正确定义为?选项:A:inta(10);B:intn=10,a[n];C:#defineN10inta[N];D:intn;a[n];答案:【#defineN10inta[N];】7、问题:已知:inta[10];则对a数组元素的正确引用是?选项:A:a[10]B:a[0]C:a[3.5]D:a(5)答案:【a[0]】8、问题:如有定义语句inta[]={2,8,3,9,4,7,5,6,6,4};,则数组a的大小是?选项:A:8B:不确定C:10答案:【10】9、问题:给出以下定义:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};则正确的叙述为?选项:A:数组x的长度小于数组y的长度B:数组x的长度大于数组y的长度C:数组x和数组y等价D:数组x和数组y的长度相同答案:【数组x的长度大于数组y的长度】10、问题:以下能对一维数组a进行初始化的语句是?选项:A:inta[3]={0,1,2};B:inta{5}={10*1};C:inta[5]=(0,1,2,3,4,);D:inta(5)={};答案:【inta[3]={0,1,2};】第六章单元测试1、问题:有定义如下:int?a[5],?*p;p=a;?则下列描述错误的是?选项:A:表达式p=p+1是合法的B:表达式a=a+1是合法的C:表达式a+2是合法的D:表达式p-a是合法的答案:【表达式a=a+1是合法的】2、问题:函数定义为Func(int?*p),变量定义为n=100,则下面调用该函数正确的是?选项:A:Fun(20)B:Fun(&n)C:Fun(n)D:Fun(20+n)答案:【Fun(&n)】3、问题:若有说明int?i,j=2,*p=&i;则能完成i=j赋值功能的语句是?选项:A:i=&j;B:i=**p;C:*p=*&j;D:i=*p;答案:【*p=*&j;】4、问题:变量的指针,其含义是指该变量的什么?选项:A:地址B:一个标志C:值D:名答案:【地址】5、问题:若有语句int*p,a=10;p=&a;下面均代表地址的一组选项是?选项:A:*&p,*p,&aB:&a,&*p,pC:&*a,&a,*pD:a,p,*&a答案:【&a,&*p,p】6、问题:下面程序的输出结果是0。intmain()?{??int?a[]={1,2,3,4,5,6,7,8,9,0},?*p;?????p=a;???cout<<*p+9;?return0;}?选项:A:错B:对答案:【错】7、问题:若有定义:int?a[5],*p=a;则对a数组元素的正确引用是?选项:A:*(p+5)B:*&a[5]C:a+2D:*(a+2)答案:【*(a+2)】8、问题:若要对a进行自减运算,则a应有下面说明?选项:A:intb[10];int*a=b+1;B:char*a[3];C:intp[3];int*a=p;D:intk;int*a=&k;答案:【intb[10];int*a=b+1;】9、问题:若有定义:intx[10]={0,1,2,3,4,5,6,7,8,9},*p;则数值不为3的表达式是?选项:A:p=x+2,*(p++);B:p=x+3,*p++;C:x[3]D:p=x+2,*++p;答案:【p=x+2,*++p;】10、问题:在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的变量或函数的值。选项:A:错B:对答案:【对】第七章单元测试1、问题:结构体的定义不为它分配具体的内存空间。选项:A:错B:对答案:【对】2、问题:结构体定义中,struct是关键字,不能省略,结构体名称用作结构体类型的标志,是用户自定义的标识符。选项:A:错B:对答案:【对】3、问题:假设有如下语句,则叙述错误的是?structabc{intm;floatn;}mytype;选项:A:mytype是结构体类型名B:mytype是结构体变量名C:m和n都是结构体成员名D:struct是定义结构体类型的关键字答案:【mytype是结构体类型名】4、问题:若有以下说明和语句,则引用方式不正确的是?structworker{intno;char*name;}work,*p=&work;选项:A:p->noB:work->noC:(*p).noD:work.no答案:【work->no】5、问题:以下结构体类型可以用来构造链表的是?选项:A:structaa{inta;int*b;};B:structbb{inta;bb*b;};C:structcc{int*a;ccb;};D:structdd{int*a;aab;};答案:【structbb{inta;bb*b;};】6、问题:在声明一个结构体变量时系统分配给它的存储空间是?选项:A:该结构体中占用最大存储空间的成员所需存储空间B:该结构体中最后一个成员所需存储空间C:该结构体中所有成员所需存储空间的总和D:该结构体中第一个成员所需存储空间答案:【该结构体中所有成员所需存储空间的总和】7、问题:以下关于C++结构体类型的说法正确的有?选项:A:结构体类型的成员可以是本类型的指针B:结构体类型中必须包含数据和对数据的操作C:结构体类型的内存容量是所有成员的内存容量之和D:结构体类型中各个成员的数据类型可以不同答案:【结构体类型的成员可以是本类型的指针;结构体类型的内存容量是所有成员的内存容量之和;结构体类型中各个成员的数据类型可以不同】8、问题:访问结构体成员的语句:,表示在stu结构体变量中有一个嵌套的结构体成员birthday,birthday有一个结构体成员year。选项:A:错B:对答案:【对】9、问题:假设单链表的最后一个结点的next指针域指向了第一个结点,则该单链表是有环的。那么如果p指向某一个结点,while(p!=NULL)p=p->next;会无限循环下去。选项:A:对B:错答案:【对】10、问题:假设p指向链表中的第一个结点,q指向第二个结点,可以将q指向的结点删除并释放的语句是?选项:A:p=q->next;deleteq;B:p->next=q->next;deleteq;C:(*p).next=(*q).next;deletep;D:p=q;deleteq;答案:【p->next=q->next;deleteq;】第八章单元测试1、问题:对象是类的一个实例,一个类只能有一个对象。选项:A:错B:对答案:【错】2、问题:一个类中只能有一个构造函数。选项:A:错B:对答案:【错】3、问题:下列哪一个不是构造函数的特征。选项:A:构造函数可以重载B:构造函数可以设置默认参数C:构造函数的函数名和类名相同D:构造函数必须指定返回值类型答案:【构造函数必须指定返回值类型】4、问题:类的析构函数的作用是?选项:A:一般成员函数的初始化B:类的初始化C:删除类创建的对象D:对象的初始化答案:【删除类创建的对象】5、问题:在C++语言中,数据封装要解决的问题是?选项:A:便于数据转换B:防止不同模块之间数据的非法访问C:数据的规范化D:避免数据丢失答案:【防止不同模块之间数据的非法访问】6、问题:下列关于C++类的描述中错误的是?选项:A:类与类之间必须是平等的关系B:类与类之间可以通过封装而具有明确的独立性C:类与类之间可以通过一些手段进行通信和联络D:类用于描述事物的属性和对事物的操作答案:【类与类之间必须是平等的关系】7、问题:下列情况中,哪一种情况不会调用拷贝构造函数?选项:A:将类的一个对象赋值给该类的另一个对象时B:函数的返回值是类的对象,函数执行返回调用者时C:函数的形参是类的对象,调用函数进行形参和实参结合时D:用派生类的对象去初始化基类对象时答案:【将类的一个对象赋值给该类的另一个对象时】8、问题:下面关于类概念的描述中,错误的是?选项:A:类就是C语言中的结构体类型B:类是抽象数据类型的实现C:类是具有共同行为的若干对象的统一描述体D:类是创建对象的样板答案:【类就是C语言中的结构体类型】9、问题:类的构造函数被自动调用执行的情况是在创建该类的?选项:A:数据成员时B:友元函数时C:对象时D:成员函数时答案:【对象时】10、问题:数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是?选项:A:数据块B:类C:对象D:函数体答案:【对象】第九章单元测试1、问题:下列描述错误的是选项:A:静态成员是类的成员B:在创建对象前,静态成员不存在C:静态成员不能是虚函数D:静态成员函数不能直接访问非静态成员答案:【在创建对象前,静态成员不存在】2、问题:下列静态数据成员特性中,错误的是选项:A:静态数据成员要在类体外进行初始化B:说明静态数据成员时前边要加修饰符staticC:静态数据成员不是所有对象共有的D:引用静态数据成员时,要在静态数据成员名前加类名和作用域符号答案:【静态数据成员不是所有对象共有的】3、问题:下面关于友元的描述中,错误的是选项:A:友元函数可以直接访问该类的私有成员B:友元关系不能被继承,是双向可交换的C:利用友元可以提高程序的运行效率,但却破坏了封装性D:一个类的友元类中的所有成员函数都是这个类的友元函数答案:【友元关系不能被继承,是双向可交换的】4、问题:如果类A被说明为类B的友元,则选项:A:类A的成员是类B的成员B:类B的成员函数可以访问类A的所有成员C:类B的成员既是类A的成员D:类A的成员函数可以访问类B的所有成员答案:【类A的成员函数可以访问类B的所有成员】5、问题:下列各类函数中,不是类的成员函数的是选项:A:拷贝构造函数B:构造函数C:析构函数D:友元函数答案:【友元函数】6、问题:对静态成员的正确描述是选项:A:非静态成员函数也可以操作静态数据成员B:调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针C:全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域D:静态数据成员要在类外定义和初始化答案:【全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域】7、问题:关于友元函数说法正确的是选项:A:友元函数没有this指针B:友元函数破环了封装机制C:友元函数需要通过对象或指针调用D:友元函数是不能被继承的答案:【友元函数没有this指针;友元函数破环了封装机制;友元函数是不能被继承的】8、问题:静态成员函数没有选项:A:指针参数B:返回值C:this指针D:返回类型答案:【this指针】9、问题:下面对静态数据成员的描述中,正确的是选项:A:静态数据成员不能通过类的对象调用,只能通过“类名::标识符”调用B:静态数据成员是类的所有对象共享的数据C:类的每个对象都有自己的静态数据成员D:类的不同对象有不同的静态数据成员答案:【静态数据成员是类的所有对象共享的数据】10、问题:友元的作用是选项:A:增加成员函数的种类B:加强类的封装性C:实现数据的隐藏性D:提高程序的运用效率答案:【提高程序的运用效率】第十章单元测试1、问题:关于函数模板,以下描述错误的是?选项:A:函数模板的实例化由编译器实现B:一个类定义中,只要有一个函数模板,则这个类是模板类C:函数模板必须由程序员实例化为可执行的模板函数D:类模板的成员函数都是函数模板,类模板实例化后,成员函数随之实例化答案:【函数模板必须由程序员实例化为可执行的模板函数】2、问题:下列类模板说明中,正确的是?选项:A:templateB:template(classT1,classT2)C:templateD:template答案:【template】3、问题:函数模板定义如下,下列选项正确的是?template{c=a+b;}选项:B:intx,y;charz;C:intx,y;floatz;答案:【】4、问题:下列有关类模板的描述错误的是?选项:A:类模板和模板类是同一个概念。B:使用时,模板参数与函数参数相同,是按位置而不是按名称对应的。C:模板把数据类型作为一个设计参数,称为参数化程序设计。D:模板参数表中可以有类型参数和非类型参数。答案:【类模板和模板类是同一个概念。】5、问题:类模板的使用实际上是将类模板实例化为一个什么?选项:A:抽象类B:类C:对象D:函数答案:【类】6、问题:类模板的实例化在什么时候进行?选项:A:在连接时进行B:在编译时进行C:属于动态联编D:在运行时进行答案:【在编译时进行】7、问题:类模板的模板参数?选项:A:三种均可B:只可作为成员函数的参数类型C:只能作为数据成员的类型D:只可作为成员函数的返回类型答案:【三种均可】8、问题:下列关于函数重载的叙述错误的是?选项:A:函数返回值的类型不能用于对重载函数的区分B:const关键字可以用于对重载函数的区分C:函数重载就是用相同的函数名定义多个函数D:重载函数的参数列表必须不同答案:【函数重载就是用相同的函数名定义多个函数】9、问题:下列关于模板形参的描述中错误的是?选项:A:可以用class修饰模板形参B:模板形参表必须在关键字template之后C:模板形参表必须用括号()括起来D:可以用typename修饰模板形参答案:【模板形参表必须用括号()括起来】10、问题:说明函数模板的关键字是?选项:A:virtualB:staticC:templateD:inline答案:【template】第十一章单元测试1、问题:在表达式x+y*2中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符,则operator+和operator*分别有多少个参数?选项:B:21C:12D:22答案:【12】2、问题:以下关于运算符重载的叙述中,正确的是?选项:A:重载二元运算符时,必须声明两个形参B:若重载运算符‘+’,则相应的运算符函数名为:+C:通过运算符重载,可以定义新的运算符D:有的运算,其运算符只能作为友元函数重载答案:【有的运算,其运算符只能作为友元函数重载】3、问题:运算符重载函数必须是类的成员函数。选项:A:对B:错答案:【错】4、问题:关于运算符重载的描述中正确的是?选项:A:运算符重载可以改变操作数的个数B:运算符重载不可以改变语法结构C:运算符重载可以改变优先级D:运算符重载可以改变结合性答案:【运算符重载不可以改变语法结构】5、问题:友元运算符obj1>obj2被C++编译器解释为?选项:A:obj1.operator(obj2)B:operator>(obj1,obj2)C:>(obj1,obj2)D:obj2.operator>(obj1)答案:【>(obj1,obj2)】6、问题:下列运算符哪一个不能在C++中被重载?选项:A:?:B:+C:newD:&&答案:【?:】7、问题:现在需要对list类对象使用的逻辑运算符==重载,以下函数声明正确的是?选项:A:boollist::operator==(constlist&a);B:bool&list::operator==(constlist&a);C:list&list::operator==(constlist&a);D:listlist::operator==(constlist&a);答案:【boollist::operator==(constlist&a);】8、问题:在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是?选项:A:作为友元函数重载的二元运算符B:作为成员函数重载的一元运算符C:作为成员函数重载的二元运算符D:作为友元函数重载的一元运算符答案:【作为友元函数重载的一元运算符】9、问题:运算符重载时以下性质一定会保持的是?选项:A:操作数类型、优先级B:返回值类型、操作数类型C:返回值类型、结合性D:优先级、操作数个数答案:【优先级、操作数个数】10、问题:若为类MyClass重载运算符+,下列声明中错误的是?选项:A:friendMyClassoperator+(MyClass,MyClass);B:friendMyClassoperator+(MyClass,double);C:friendMyClassoperator+(double,MyClass);D:friendMyClassoperator+(double,double);答案:【friendMyClassoperator+(double,double);】第十二章单元测试1、问题:类继承中,默认的继承方式是?选项:A:公有B:保护C:私有D:寄存答案:【私有】2、问题:类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的。选项:A:错B:对答案:【对】3、问题:继承方式关键字为private时,基类的公共成员在派生类中是私有成员。选项:A:对B:错答案:【对】4、问题:继承具有(),即当基类本身也是某一类的派生类时,底层的派生类也会自动继承间接基类的成员。选项:A:传递性B:重复性C:多样性D:规律性答案:【传递性】5、问题:C++中类有两种用法,一种是类的实例化,即生成类对象,另一种是通过()派生出新的类。选项:A:重载B:复用C:封装D:继承答案:【继承】6、问题:下面哪一项的叙述不符合赋值兼容规则?选项:A:派生类的对象可以初始化基类的引用B:派生类的对象可以赋值给基类的对象C:基类的对象可以赋值给派生类的对象D:派生类的对象的地址可以赋值给指向基类的指针答案:【基类的对象可以赋值给派生类的对象】7、问题:派生类的对象对它的基类成员中()是可以访问的。选项:A:公有继承的私有成员B:公有继承的保护成员C:公有继承的公有成员D:私有继承的公有成员答案:【公有继承的保护成员;公有继承的公有成员】8、问题:C++中,不能被派生类继承的有?选项:A:静态成员函数B:构造函数C:虚函数D:赋值操作函数答案:【赋值操作函数】9、问题:以下关于派生机制的描述中,不正确的是?选项:A:派生类不仅可以继承基类的成员,也可以添加自己的成员B:采用私有继承,派生类只能得到基类的公有成员C:采用不同的继承方式,将限制派生类对基类成员的使用D:设置protected成员是为派生类访问基类成员之用答案:【采用私有继承,派生类只能得到基类的公有成员】10、问题:下列对基类和派生类关系的描述中,错误的是?选项:A:派生类是基类的子集B:派生类是基类定义的延续C:派生类和基类之间具有层次关系D:派生类是基类的具体化答案:【派生类是基类的具体化】第十三章单元测试1、问题:以下选项中不是面向对象程序设计所具有的特性的是?选项:A:模板B:多态性C:数据封装D:继承答案:【模板】2、问题:实现运行时的多态性采用?选项:A:重载函数B:虚函数C:析构函数D:构造函数答案:【虚函数】3、问题:下列关于虚函数的描述中,正确的是?选项:A:基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明B:虚函数是一个非成员函数C:虚函数是一个static类型的成员函数D:派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型答案:【基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明】4、问题:在C++中要实现动态联编,必须使用什么调用虚函数?选项:A:基类指针B:派生类指针C:对象名D:类名答案:【对象名】5、问题:下列函数中不能说明为虚函数的是?选项:A:私有成员函数B:公有成员函数C:构造函数D:析构函数答案:【构造函数】6、问题:当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中?选项:A:只有被重新说明为virtual时才是虚函数B:只有被重新说明时才是虚函数C:都不是虚函数D:都是虚函数答案:【都是虚函数】7、问题:以下哪一个是在一个基类中说明的虚函数,它在该类中没有定义,但要求任何派生类都必须定义自己的版本。选项:A:虚析构函数B:虚构造函数C:静态成员函数D:纯虚函数答案:【纯虚函数】8>、问题:类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p-A::func(),将?选项:A:调用类A中的函数func()B:调用类B中的函数func()C:根

温馨提示

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

评论

0/150

提交评论