电话:0731-83595998
导航

2019年3月计算机二级C++选择题强化练习007

来源: 2019-03-20 19:33

 (1)关于运算符重载,下列表述中正确的是( )。

 
A)c++已有的任何运算符都可以重载
 
B)运算符函数的返回类型不能声明为基本数据类型
 
C)在类型转换符函数的定义中不需要声明返回类型
 
D)可以通过运算符重载来创建c++中原来没有的运算符
 
答案:C
 
(2)有如下程序:
 
#nclude
 
using namespace std;
 
int main()
 
{
 
void function(double val);
 
double val;
 
function(val);
 
cout<<VAL;< p>
 
return 0;
 
}
 
void function(double val)
 
} val=3;}
 
编译运行这个程序将出现的情况是( )。
 
A)编译出错,无法运行
 
B)输出:3
 
C)输出:3.0
 
D)输出一个不确定的数
 
答案:D
 
(3)下列情况中,不会调用拷贝构造函数的是( )。
 
A)用一个对象去初始化同一类的另一个新对象时
 
B)将类的一个对象赋值给该类的另一个对象时
 
C)函数的形参是类的对象,调用函数进行形参和实参结合时
 
D)函数的返回值是类的对象,函数执行返回调用时
 
答案:B
 
(4)以下关键字不能用来声明类的访问权限的是( )。
 
A)public
 
B)static
 
C)protected
 
D)private
 
答案:B
 
(5)由于常对象不能被更新,因此( )。
 
A)通过常对象只能调用它的常成员函数
 
B)通过常对象只能调用静态成员函数
 
C)常对象的成员都是常成员
 
D)通过常对象可以调用任何不改变对象值的成员函数
 
答案:A
 
(6)下列有关继承和派生的叙述中,正确的是( )。
 
A)如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员
 
B)派生类的成员函数可以访问基类的所有成员
 
C)基类对象可以赋值给派生类对象
 
D)如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类
 
答案:D
 
(7)在公有继承的情况下,允许派生类直接访问的基类成员包括( )。
 
A)公有成员
 
B)公有成员和保护成员
 
C)公有成员、保护成员和私有成员
 
D)保护成员
 
答案:B
 
(8)有如下程序:
 
#include
 
using namespace std;
 
classBase{
 
public:
 
void fun(){
 
__________________
 
cout<<”Base::fun”<<ENDL;}< p>
 
};
 
class Derived:public Base{
 
public:
 
voidfun(){
 
cout<<”Derived::fun”<<ENDL:< p>
 
}
 
};
 
int main(){
 
Derived d;
 
d.fun();
 
return 0;
 
}
 
已知其执行后的输出结果为:
 
Base::fun
 
Derived::fun
 
则程序中下画线处应填人的语句是( )。
 
A)Base.fun();
 
B)Base::fun();
 
C)Base—>fun();
 
D)fun();
 
答案:B
 
(9)有如下程序:
 
#include
 
using namespace std;
 
class MyClass{
 
public:
 
MyClass(){cout<<’A’;}
 
MyClass(char C){cout<<C;}< p>
 
~MyClass(){cout<<’B’;}
 
};
 
int main(){
 
MyClass pl,+p2;
 
p2=new MyClass(’X’);
 
delete p2;
 
return 0;
 
}
 
执行这个程序的输出结果是( )。
 
A)ABX
 
B)ABXB
 
C)AXB
 
D)AXBB
 
答案:D
 
(10)有如下程序:
 
#include
 
using namespace std;
 
int i=1;
 
class Fun{
 
public:
 
static int i;
 
int value(){return i—l;}
 
int value()const{return i+1;}
 
};
 
int Fun::i=2;
 
int main(){
 
int i=3;
 
Fun funl;
 
const Fun fun2:
 
__________________
 
return 0;
 
}
 
若程序的输出结果是:
 
123
 
则程序中下画线处遗漏的语句是( )。
 
A)cout<<FUNL.VALUE()<<FUN::I<<FUN2.VALUE();< p>
 
B)tout<<FUN::I<<FUNL.VALUE()<<FUN2.VALUE();< p>
 
C)cout<<FUNL.VALUE()<<FUIL2.VALUE()<<FUN::I:< p>
 
D)eout<<FUN2.VALUE()<<FUN::I<<FUNL.VALUE();< p>
 
答案:A

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端