11 C++程序设计基础
答案:C
分析:引用必须在定义时进行初始化。
答案:D
分析:构造函数不能有返回值。
答案:D
分析:C++函数重载中,若两个函数除返回类型不同外,其他均相同,则是非法的。例
如:
int fun(int x,int y);
float fun(int x,int y);
两个函数的返回类型不同,其他都相同,编译程序无法区分这两个函数。这是因为在确
定调用哪个函数之前,返回类型是不知道的。
答案:C
分析:友元函数虽然在类的定义中声明,但它不是类的成员函数,友元函数的参数通常
是类的对象。
答案:A
分析:使用 new 运算符创建对象数组时不能为该数组指定初始值,其初始值为缺省值,
因此类中必须定义缺省的构造函数。
答案:D
分析:重载之后的运算符不能改变运算符的优先级和结合性,也不能改变运算符的操作
数的个数和语法结构。
答案:A
分析:根据继承的基本概念可知。
答案:B
分析:派生类中包含了基类中的成员,它是对基类定义的扩充和延续,是对基类定义的
进一步具体化,而不是基类的子集。
答案:A
分析:派生类不能继承基类的构造函数和析构函数,也不能访问基类的私有成员,而对
基类的公有成员和保护成员的访问权限则随着派生类对基类的继承方式而改变。
答案:D
分析:构造函数是在创建对象时执行的。
答案:B
分析:没有用 private、public、protected 定义的数据成员是私有成员。C++中没有限定
private、public、protected 的书写次序,但是不能在类的声明中给数据成员赋初值,数据成
员的数据类型也不能是 register。
答案:B
分析:通过派生类的使用,可以通过增加少量代码的方法得到新的类,从而解决了代码
的重用问题。
答案:A
分析:C++规定构造函数不能是虚函数。
答案:D
分析:int *p=new int(10);表示分配 1 个整型存储单元,初始值为 10;int *p=new int[10];
1
表示分配 10 个整型存储单元;int *p=new int; 表示分配 1 个整型存储单元;int *p=new
int[20](0);是要给一个数组分配内存空间时,对整个数组进行初始化,这是 C++不允许的。
答案:D
分析:语句①不应该有返回类型 void;语句②和③不能实现成员函数重载,调用函数
f(10,20)时会产生二义性;语句④不正确,静态成员函数不能直接操作类的非静态数据成员。
答案:301
分析:语句“::k=k+1”中赋值号左边::k 的 k 是全局变量,而赋值号右边的 k 是局部变
量。执行该语句时是将局部变量 k 的值 300 加 1 后赋
11 C++程序设计基础 答案 来自淘豆网www.taodocs.com转载请标明出处.