2019年3月计算机二级C++选择题强化练习019
(1)有如下程序:
#include
using namespace std;
class VAC{
public:
intf()const{return 3;}
int f(){retum 5;}
};
int main()
{
VAC vl;
const VAC v2;
cout<<VL.F()<<V2.F();< p>
return 0;
}
执行这个程序的输出结果是( )。
A) 53
B)35
C)55
D)33
答案:A
(2)有如下程序:
#include
using namespace std;
class MyClass{
public:
MyClass(int i=0){cout<<1;}
MyClass(const MyClass&x){cout<<2;}
MyClass&operator=(const MyClass&x){cout<<3;retum$this;}
~MyClass()}cout<<4;}
};
int main()
{
MyClass objl(1),obj2(2),obj3(objl);
retum 0;
{
执行这个程序的输出结果是( )。
A)112444
B)11114444
C)121444
D)11314444
答案:A
(3)有如下类声明:
class Base{
protected:
int amount;
public:
Base(int n=0):amount(n){}
int getAmount()const{retum amount;}
};
class Derived:public Base{
protected:
int value;
public:
Derived(int m,int n):value(m),Base(n){}
int getData()const{return value+amount;}
}:
已知x是一个Derived对象,则下列表达式中正确的是( )。
A)x.value+X.getAmount()
B)x.getData()一x.getAmount()
C)x.getData()一x.amount
D)x.value+X.Amount
答案:B
(4)有如下程序:
#include
using namespace std;
class AA{
int k;
protected:
int n;
void setK(int k){this一>k=k;}
public:
void setN(int n){this一>n=n;}
};
class BB:public AA{/*类体略*/};
int main()
}
BB X;
X.n=1;//1
X.setN(2);//2
X.k=3;//3
X.setK(4);//4
return 0;
}
在标注号码的四条语句中正确的是( )。
A)1
B)2
C)3
D)4
答案:B
(5)有如下程序:
#include
using namespace std;
class Base{
int x:
public:
Base(int n=0):x(n){cout<<N;}< p>
int getX()const{return x;}
};
cjass Derived:public Base{
int Y:.
J;;Iublic:
Derived(int m,int n):y(m),Base(n){cout<<M;}< p>
Derived(int m):Y(m){cout<<M;}< p>
};
int main()
{
Derived dl(3),d2(5,7);
retum 0;
}
执行这个程序的输出结果是( )。
A)375
B)357
C)0375
D)0557
答案:C
(6)有如下程序:
#include
using namespace std;
class GA{
public:
virtual int f()t retum l;}
};
class GB:public GA{
public:
virtual int f(){retum 2;}
};
void show(GA g){eout<<9.f();}
void display(GA&g){cout<<9.f();}
int main()
{
GA a;show(a);display(a);
GB b;show(b);display(b);
return 0;
}
执行这个程序的输出结果是( )。
A)1111
B)1211
C)1112
D)1212
答案:C
(7)下列有关模板的叙述中,正确的是( )。
A)函数模板不能含有常规形参
B)函数模板的一个实例就是一个函数定义
C)类模板的成员函数不能是模板函数
D)用类模板定义对象时,绝对不能省略模板实参
答案:B
(8)下面是一个模板声明的开始部分:templatedouble…
由此可知( )。
A)这可能是一个函数模板的声明
B)这可能是一个类模板的声明
C)这既可能是一个函数模板的声明,也可能是一个类模板的声明
D)这肯定是一个错误的模板声明
答案:A
(9)C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是( )。
A)cout
B)cin
C)cerr
D)cset
答案:D
(10)下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是( )。
A)cout<<INTERNAL<<12345;< p>
B)eout<<LEFT<<12345;< p>
C)cout<<RIGHT<<12345;< p>
D)cout<<SETW(6)<<12345;< p>
答案:D
编辑推荐:
下载Word文档
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>