国家开放大学电大C++语言程序设计第六-十章边学边练答案

Open

第六-十章边学边练答案.doc

下载:1 次
【上面答案为下列试题答案,请核对试题后再购买】www.botiku.com零号电大
有如下类声明: class{ int i,j; private: int m; public: int n; private: int p; }; 其中私有成员的个数是( )。
程序中需要一个int型指针p,要求不允许修改p所指向的整数,则下列定义中正确的是( )。
定义一个指针并令其指向字符串”春暖花开”,下列定义中错误的是( )。
多态调用是指( )
关于操作符重载,下列表述中错误的是( )。
关于操作符重载,下列表述中错误的是( )。
关于抽象类,下列表述正确的是( )。
关于纯虚函数和抽象类,下列表述中错误的是( )。
关于复制构造函数,下列表述中错误的是( )。
关于函数模板,下列表述中错误的是( )。
关于函数重载,下列表述中错误的是( )。
关于继承成员的访问属性,下列表述中错误的是( )。
关于类的析构函数,下列表述中错误的是( )。
关于类对象成员,下列表述错误的是( )。
关于类模板,下列表述中错误的是( )。
关于类模板,下列表述中错误的是( )。
关于虚函数,下列表述中错误的是( )。
关于虚函数,下列表述中错误的是( )。
若为添加数据而打开一个输出文件,应选择的打开模式是( )。
调用一个流状态判断函数,若操作成功返回true,这个函数是( )。
下列标识符中,不属于C++流操纵符的是(    )。
下列标识符中,不属于C++流的预定义流对象的是( )。
下列对派生类的描述中,错误的是( )。
下列符号中,不属于C++流定位方式的是( )。
下列符号中,不属于C++文件流打开模式的是(    )。
下列关于常数据成员的表述中,正确的是( )。
下列关于构造函数的表述中,错误的是( )。
下列模板函数声明中正确的是( )。
下列数据成员中,不能在构造函数的初始化列表中进行初始化的是( )。
下列特征中,不属于磁盘文件的是( )。
要使语句p1=new int[10];能够正常执行,p1应定义为( )。
要想使语句cout<
已知i、j都是整型变量,下列表达式中,与下标访问X[j]不等效的是( )。
已知VA是基类,VB是它的派生类,且有如下的变量定义: VA aa,*pva; VB bb,*pvb=&bb; 则下列赋值语句中错误的是( )。
已知变量ld定义为:long ld;,在下面关于指针p的定义中,不能通过p修改ld的有( )。
已知函数f1的原形是: void f1(int *a,long &b); 变量v1、v2的定义是: int v1;long v2; 把v1和v2分别作为第一参数和第二参数来调用函数f1,正确的调用语句是( )。
已知类AA的类体中有如下成员函数定义:int Double(int n)const{ return n+n; } 要在类BB中将其声明为友元,正确的是( )。
已知一函数的原形是:void fp(int *p);,且有如下变量定义: int a,b[10]; 则下列调用中错误的是( )。
已知一运行正常的程序中有这样两个语句:   int *p1,*p2=&a;   p1=b; 由此可知,变量a和b的类型分别是( )。
已知一运行正常的程序中有这样两个语句:   int *p2=&x,*p1=a;   *p2=b; 由此可知,变量a和b的类型分别是( )。
已知应用系统中已声明了如下函数: int block(double,int=0); 下列函数声明试图重载block,其中正确的是( )。
已知应用系统中已声明了如下函数: int fp(char c,int k=0,double d=100.0); 下列函数声明试图重载fp,其中正确的是( )。
已知在类体外有如下操作符重载声明: AA operator +(AA,AA); 其中的AA是类名。若x、y是两个AA的对象,下列表达式欲求x、y之和,其中正确的是( )。
有如下程序: #include using namespace std; class BB{ int k; public: BB(int n=0):k(n){ cout<<”BB”<<n; } }; class AA:public BB{ BB bb; int cc; public://a用于初始化继承成员,b用于初始化bb,c用于初始化cc。 AA(int a, int b, int c): bb(b),cc(c),BB(a){ cout<<“AA”<<c; } }; int main(){ AA aa(1,2,3); return 0; } 执行这个程序的输出是( )。
有如下程序: #include using namespace std; class BB{ public: ~BB(){ cout<<”~BB “; } }; class AA:public BB{ BB bb; public: ~AA(){ cout<<”~AA “; } }; int main(){ AA aa; return 0; } 执行这个程序的输出是( )。
有如下定义: class Mb{ public: static int n; }; Mb mb, &r=mb; 下列表达式试图访问类的静态成员n,其中错误的是( )。
有如下函数模板声明: template T2 add(T1 t1){ return t1+n; } 下列对模板函数add的调用中,错误的是( )。
有如下函数模板声明: template T2 add(T1 t1){ return t1+n; } 要想使函数返回一个double型的值,下列对模板函数add的调用中,正确的是( )。
有如下类定义: class X{ public: int one(){ return 1; } }; 如果把成员函数one放在类体外定义,与上面的定义等效的是( )。
有如下类模板定义: template class Ca{ public: T fa(); }; 要在模板外给出模板类成员函数fa的定义,正确的是( )。
有如下类模板定义: template class MG{ public: T data[size]; }; 下面的语句试图定义模板类MG的对象,其中错误的是( )。
有如下两个类定义: class MK{ public: int m[10]; }; class MK{ public: double m[20]; }; 下列类模板试图能够产生这两个类定义作为其实例,其中错误的是( )。
在C++流类中既可以用于文件输入又可以用于文件输出的流类是(    )。
在下列构造函数声明中,不能称作默认构造函数的是( )。
在重载一个操作符函数时,其参数表中没有任何参数,这说明该操作符是( )。
指针不但指示了数据的存储位置,还标明了该数据的_____。
C++中最常用的头文件是_____。
p为一指针变量,将p所指向单元的数据值增1并作为表达式的值的表达式是_____。
p为一指针变量,取p所指向单元的数据作为表达式的值,然后使p指向下一个单元的表达式是_____。
p为一指针变量,使p指向下一个单元,然后取该单元的数据作为表达式的值的表达式是_____。
成员函数的形参名与某个数据成员同名时,不加修饰地使用该名称所访问的是_____。
打开的文件分为输入文件、 输出文件和_____文件。
定义一个有6个元素的对象数组,构造函数被调用的次数是______。
对于常对象,通过操作符“.”只能访问该对象的_____。
对于类Staff,它的构造函数的函数名是_____。
对于类Staff,它的析构函数的函数名是_____。
个类至少有_____个构造函数,最多有_____个析构函数。
函数重载就是定义与已有函数_____的函数。
能够重载一个函数的条件是:其调用形式必须在参数的_____上或_____上与其他同名函数的调用形式有所不同。
如果定义类对象时没提供任何实参,则系统自动调用_____对之进行初始化。
如果继承时没有指定继承方式,则采用默认的_____方式。
如果一个指针不指向任何数据,则称为_____。
若ff是个流对象,关闭该流对象的语句是_____。
若q是指向二维数组B的指针,则表达式*(*(q+5)+3) 所访问的数组元素是 _____。
若t是指向一维数组A的指针,则表达式*(t+6)所访问的数组元素是_____。
通过对象访问其成员需要利用操作符“.”,这个操作符称作_____。
文件在格式上分为文本文件和_____文件。
无格式输入操作在输入数据的同时,输入位置一般也随之移动,但有一个输入函数是例外,它输入数据但不移动输入位置,这个函数的名称是_____。
下列表达式中,与下标访问A[k]等效的是( )。 : *A+k ; A+k ; A+*k ; *(A+k)
要进行文件操作,必须包含头文件_____。
要使引用jr代表变量int j;,jr应定义为_____。
要使用字符串流,需包含头文件_____。
一个非成员函数需要访问类的私有成员,为此该类应将之声明为_____。
已有变量定义int x;,要申请一块能容纳x中数据且与x同值的动态空间,并使变量px指向这个动态空间,则px应定义为_____。
已知变量a、b定义为:int a=99,&b=a;,则cout
以文件名”CON”打开的输入文件流所联系的设备是_____。
用new创建动态对象数组时,为每个元素进行初始化的构造函数只能是_____。
有如下类声明: class AA{ int a; protected: double b; public: char c; }; class BB: public AA{ }; 则在派生类BB中,b的访问属性是_____,c的访问属性是_____。
有如下语句序列: int m[]={1,2,3,4,5,6,7,8},*p1=m+3,*p2=&m[6],*p3; p3=p1+3; cout< 执行这个语句序列的输出是_____。
有如下语句序列: int m[20],*p1=m,*p2=&m[13],n; n=p2-p1; 执行这个语句序列后n的值为 _____。
在保护继承下,基类的公有成员在派生类中的访问属性是_____,基类的保护成员在派生类中的访问属性是_____。
在公有继承下,基类的公有成员在派生类中的访问属性是_____,基类的保护成员在派生类中的访问属性是_____。
在建立一个用于无格式输入输出的流对象时,打开模式中通常应包含_____。
在私有继承下,基类的公有成员在派生类中的访问属性是_____,基类的保护成员在派生类中的访问属性是_____。
在用class定义的类中,成员的默认访问属性是 _____。
回复

使用道具 举报