2009年3月 二级C++真题及参考答案 一、选择题(每小题2分,共70分)
(11)对C++编译器区分重载函数无任何意义的信息是 A)参数类型 B)参数个数 C)返回值类型
D)常成员函数关键字coast (12)有如下类定义和变量定义: class A{ publie:
A(){data=0;} ~A(){}
int GetData ( ) coast { return data;} void SetData(int n) {data=n;} private: int data; };
ccnst A a; A b;
下列函数调用中错误的是 A)a .GetData(); B)a .SetData(10); C)b .GetData(); D)b .SetData(10);
(13)有如下类定义和变量定义: class Parents{ public:
int publicuata; private:
int privateData; };
class ChildA:public Parents{/*类体略*/}; class ChildB:private Parents{/*类体略*/);
ChildA a; ChildBb;
下列语句中正确的是
A)cout< (15)下列关于函数模板的描述中,错误的是 A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准 B)对于常规参数所对应的模板实参,任何情况下都不能省略 C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参 D)模板参数表不能为空 (16)要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是 A)ifstream fin=ifstream.open(“file.dat”); B)ifstream*fir.=new ifstream(“file.dat”); C)ifstream fin; fin.open(“file.dat”); D)ifstream *fin=new ifstream( );fin一>open(“file.dat”); (17)下列描述中,不属于面向对象思想主要特征的是 A)封装性 B)跨平台性 C)继承性 D)多态性 (18)有如下程序段: Tnt i=4;int j=l; int main(){ int i=8,j=i; cout< 运行时的输出结果是 A)44 B)41 C)88 D)81 (19)有如下程序段: int i=5; while(int i=0){cout《'*';i--;} 运行时输出“*”的个数是 A)0 B)1 C)5 D)无穷 (20)己知有数组定义 char a[3][4]; 下列表达式中错误的是 A)a[2]=“WIN” B)strcpy(a[2],“WIN”) C)a [2][3]='W' D)a[0][1]=a[0][1] (21)已知函数fun的原型为 int fun(int,int,int); 下列重载函数原型中错误的是 A)char fun(int,int); B)double fun(int,int,double); C)int fun(int,char*); D)float fun (int, int, int); (22)建立一个类对象时,系统自动调用 A)析构函数 B)构造函数 C)静态函数 D)友元函数 (23)通过派生类的对象可直接访问其 A)公有继承基类的公有成员 B)公有继承基类的私有成员 C)私有继承基类的公有成员 D)私有继承基类的私有成员 (24)己知表达式++a中的“++”是作为成员函数重载的运算符,则与十+a等效的运算符函数调用形式为 A)a .orerator++(1) B)operator++(a) C)operator++(a,l) D)a.operator++( ) (25)在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是 A)( ) B)[ ] C)< > D){ } (26)当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为 A)ios_base::in B)ios_base::in|ios_base::out C)ios_base::out D)ios_base::in&ios_base::out (27)有如下程序: #include XCD(char* aa, int bb){ a=new char[strlen(aa)+1]; strcpty(a,aa); b=bb; } Char* Geta (){return a;) int Getb(){ return b;} }; int main(){ char *pl=“abcd”,*p2=“weirong”; int dl=6, d2=8; XCD x(pl,dl),Y(p2,d2); cout< return 0; } 运行时的输出结果是 A)12 B)16 C)14 D)11 (28)有如下程序: #include