散分啦~~~请大家来看看c++期末考试卷
散分啦~~~~请大家帮忙看看下面的题目。做对一题得5分,先到先得~~
希望能给出答案的详细说明。谢谢大家啦~
1、下列关于构造函数的描述中,错误的是【?】
(回答后请说明理由)
A)构造函数可以设置默认参数 B)构造函数在定义类对象时自动执行
C)一个类至少有一个构造函数 D)构造函数不可以重载
2、int x=0,y=0;do{++y;} while(!x&&y<=5) 语句执行循环的次数是【?】
(回答后请说明理由)
A)0B)5
C)6D)无次数
3、C++语言的跳转语句中,对于break和continue说法正确的是【?】
A)continue语句只应用与循环体中
B)break语句只应用与循环体中
C)break是无条件跳转语句,continue不是
D)break和continue的跳转范围不够明确,容易产生问题
4、下列关于运算符重载的叙述中,正确的是【?】
A)通过运算符重载,可以定义新的运算符
B)有的运算符只能作为成员函数重载
C)若重载运算符号+,则相应的运算符函数名是+
D)重载一个二元运算符时,必须声明两个形参
5、下列有关继承和派生的叙述中,正确的是【?】
A)派生类不能访问基类的保护成员
B)做为虚基类的类不能被实例化
C)派生类应当向基类的构造函数传递参数
D)虚函数必须在派生类中重新实现
6、有如下类声明,class Foo{ int bar;};则Foo类的成员bar是【?】
A)公有数据成员B)公有成员函数
C)私有数据成员D)私有成员函数
7、执行语句序列 int i=0;while(i<30) i+=3;cout<<i;为什么i的输出结果会是 30 呢???
8、假定 a 为一个整型数组名,则元素a[3]的地址为【?】
(回答后请说明理由)
A)a+3B)a+6
C)a+12D)a+24
9、在语句cin>>data;中,cin是【?】
A)c++关键字B)类名
C)对象名D)函数名
10、有如下类声明,则类MyDERIVE中保护的数据成员和成员函数的个数是【?】
(回答后请说明哪些数据成员和成员函数是在类MyDERIVE中保护的)
A) 4个 B) 3个 C) 2个 D) 1个
class MyBASE
{
int k;
public:
void set(int n){k=n;}
int get() {return k;}
};
class MyDERIVED:protected MyBASE
{
protected:
int j;
public:
void set(int m,int n){MyBASE::set(m);j=n;}
int get() {return MyBASE::get()+j;}
};
void main()
{
MyDERIVED a;
a.get();
return;
}
[解决办法]
1、D)构造函数不可以重载
有拷贝构造函数
[解决办法]
7、当i为30时,跳出循环
[解决办法]
[解决办法]
1.D
构造函数可以重载,标准规定的
2.C
3.D
4.B
5.C
6.C
7.30 执行了10次后 i==30 不满足while循环条件i<30,退出循环
8.C &a[3] = a + 3 * sizeof(int)
9.C
10.C
void MyBASE::set(int n){k=n;}
void MyBASE::get(){return k;}
int j;
[解决办法]
3.A
[解决办法]