2019年3月计算机二级C++选择题强化练习004
(1)有如下类定义:
class Test
{
public:
Test(){a=0;c=0;}//①
int f(im a)const{this->a=a;}//②
static int g(){return a;f//③
void h(int b){Test:.b=b;};//④
private:
int a;
static int b;
const int C;
};
int Test::b=0:
在标注号码的行中,能被正确编译的是( )。
A)①
B)②
C)③
D)④
答案:D
(2)有如下类声明:
class SAMPLE
{
int n:
public:
SAMPLE(int i=0):n(i){}
void setValue(int nO);
};
下列关于9etValue成员函数的定义中,正确的是( )。
A)SAMPLE::setValue(int nO){n=n0;} B)void SAMPLE::setValue(int胡){n=n0;
C)void setValue(int nO){n=n0;}D)setValue(int nO){n=n0;}
答案:B
(3)有如下程序:
#include
using namespace std;
class A
{
public:
A(){cout<<”A”;}
-A(){cout<<”-A”;}
};
class B:public A
{
A*P;
public:
B(){cout<<”B”;P=new A();}
-B(){cout<<”~B”;delete p;}
};
int main()
{
B obj;
return 0;
}
执行这个程序的输出结果是( )。
A)BAA~A~B~A
B)ABA~B~A~A
C)BAA~B~A~A
D)ABA~A~B~A
答案:B
(4)有如下程序:
#include
using namespace std;
class Base
{
private:
void funl()const{tout<<”funl”;}
protected:
void fun2()const{tout<<”fun2”;}
public:
void fun3()const{cout<<”fhll3”;}
};
class Derived:protected Base
{
public:
void fhn4()const{cout<<”filn4”;}
};
int main()
{
Derived obj;
obj.funl();//①
obj.fun2();//②
obj.furd();//③
obj.fun4();//④
return U:
}
其中有语法错误的语句是( )。
A)①②③④
B)①②③
C)②③④
D)①④
答案:B
(5)有如下程序:
#include
using namespace std;
class Basel
{
public:
BaseI(int d){cout<<D;}< p>
一Basel(){}
};
class Base2
{
public:
Base2(int d){tout<<D;}< p>
~Base2(){}
};
class Derived:public Basel,Base2
{
public:
Derived(int a,int b,int c,int d):Basel(b),Base2(a),bl(d),b2(c){}
private:
int bl:
int b2:
};
int main()
{
Derived d(1,2,3,4);
return 0;
}
执行这个程序的输出结果是( )。
A)1234
B)2134
C)12
D)21
答案:D
(6)有如下程序:
#include
using namespace std;
class Base
{
public:
void funl(){cout<<”Basen”;}
virtual void fun2(){eout<<”Basen”;}
};
class Derived:public Base{
public:
void funl(){eout<<”Derived、n”;}
void fura(){eout<.<”Derivedn”;}
};
void f(Base&b)}b.funl();b.ftm2();}
int main()
{
Derived obj;
f(obj);
return 0;
}
执行这个程序的输出结果是( )。
A)Base
B)Base
C)Derived
D)Derived
Base Derived Base Derived
答案:B
(7)模板对类型的参数化提供了很好的支持,因此( )。
A)类模板的主要作用是生成抽象类
B)类模板实例化时,编译器将根据给出的模板实参生成一个类
C)在类模板中的数据成员都具有同样类型
D)类模板中的成员函数都没有返回值
答案:B
(8)有如下函数模板:
template
T east(U u)i return u;}
其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是( )。
A)cast(i);
B)cast<>(i);
C)east(i);
D)east(i);
答案:D
(9)要建立文件流并打开当前目录下的文件6le.dat用于输入,下列语句中错误的是( )。
A)ifstream fin=ffstream.open(”file.dat”);
B)ifstream*fin=new ifstream(”file.dat”);
C)ifstream fin;fin.open(”file.dat”);
D)ifstream*fin=new ifstream();fin->open(”file.dat”);
答案:A
(10)当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。
A)ios—base::in
B)ios—base::in l ios base::0ut
C)los base;:0ut
D)ios_base::in&ios_base::0ut
答案:A
编辑推荐:
下载Word文档
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>