14.下面关于数组的描述错误的是( )
A.在C++语言中数组的名字就是指向该数组第一个元素的指针
B.长度为n的数组,下标的范围是0~n-1
C.数组的大小必须在编译时确定
D.数组只能通过值参数和引用参数两种方式传递给函数
【参考答案】D
15.下面的哪个选项不能作为函数的返回类型?( )
A.void B.int C.new D.long
【参考答案】C
16.下列程序的输出结果为( )
#include<iostream.h>
int func(int n)
{if(n<1) return 1;
else return n+func(n-1);
return 0;}
void main()
{cout<<func(5)<<endl;}
A.0 B.10 C.15 D.16
【参考答案】D
17.以下程序中,错误的行为( )
1.#include<iostream.h>
2.class A
3.{
4.public:
5.int n=2;
6.A(int val) {cout<<val<<endl;}
7.~A(){ }
8.{;
9.void main()
10{
11.A a(0);
12.}
A.5 B.6 C.7 D.11
【参考答案】A
18.下面程序的运行结果为( )
#include<iostream.h>
class A
{
int num;
public:
A(int i){num=i;}
A(A &a){num=a.num++;}
void print(){cout<<num;}
};
void main()
{
A a(1),b(a);
a.print();
b.print();
}
A.11 B.12 C.21 D.22
【参考答案】C
19.如果类A被说明成类B的友元,则( )
A.类A的成员即类B的成员 B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员 D.类B不一定是类A的友元
【参考答案】D
20.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )
A.abc B.acb C.cab D.cba
【参考答案】A
21.下面关于模板的描述,错误的是( )
A.函数模板和类模板的参数可以是任意的数据类型
B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C.函数模板不能直接使用,需要实例化为模板函数后才使用
D.类模板的成员函数都是模板函数
【参考答案】A
22.下面程序的运行结果是( )
#include<iostream.h>
void main()
{
int num=1;
int &ref=num;
ref=ref+2;
cout<<num;
num=num+3;
cout<<ref<<endl;
}
A.13 B.16 C.36 D.33
【参考答案】C
23.下列程序的运行结果为( )