一、选择题(每小题1分,共40分)1关于运算符重载,下列表述中正确的是( )。A. c++已有的任何运算符都可以重载B. 运算符函数的返回类型不能声明为基本数据类型C. 在类型转换符函数的定义中不需要声明返回类型D. 可以通过运算符重载来创建c++中原来没有的运算符
本题共1分,参考答案:C解析:重载运算符的规则如下:①c++不允许用户自己定义新的运算符,只能对已有的c++运算符进行重载;②c++不能重载的运算符只有5个;③重载不能改变运算符运算对象的个数;④重载不能改变运算符的优先级和结合性;⑤重载运算符的函数不能有默认的参数;⑥重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是c++的标准类型。故本题答案为c。
2在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( )。 A. 友元函数B. 虚函数C. 构造函数D. 析构函数
本题共1分,参考答案:C解析:构造函数在创建对象时系统自动调用,其功能是使用给定的值将对象初始化。
3软件设计中模块划分应遵循的准则是( )。 A. 低内聚低耦合B. 高内聚低耦合C. 低内聚高耦合D. 高内聚高耦合
本题共1分,参考答案:B解析:软件没计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽町能的高。
4如果类A被说明成类B的友元,则( )。 A. 类A的成员即类B的成员B. 类B的成员即类A的成员C. 类A的成员函数不得访问类B的成员D. 类B不一定是类A的友元
本题共1分,参考答案:D解析:本题考查的是友元类的定义:类A为类B的友元类,则类A的所有成员函数都是类8的友元函数,但反之则不一定成立。
5有如下类定义:
class Foo
{
public:
Foo(int v):value(V){}//①
~Foo(){}//②
private:
Foo(){}//③
int value=0://④
};
其中存在语法错误的行是( )。 A. ①B. ②C. ③D. ④
本题共1分,参考答案:D解析:本题考查对象的初始化,类的数据成员是不能在声明类时初始化的,所以本题答案为D。
6下面关于数组的描述错误的是( )。 A. 在C++语言中数组的名字就是指向该数组第一个元素的指针B. 长度为n的数组,下标的范围是0~n-1C. 数组的大小必须在编译时确定D. 数组只能通过值参数和引用参数两种方式传递给函数
本题共1分,参考答案:D解析:本题考查的是数组的基本使用,数组还可以通过对应的指针调用传递参数,其余选项的说法都是正确的。
7运算符重载是对已有的运算符赋予多重含义,因此( )。 A. 可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义B. 可以改变一个已有运算符的优先级和操作数个数C. 只能重载c++中已经有的运算符,不能定义新运算符D. C++中已经有的所有运算符都可以重载
本题共1分,参考答案:C解析:重载运算符的规则如下:①c++不允许用户自己定义新的运算符,只能对已有的c++运算符进行重载;②c++不能重载的运算符只有5个;③重载不能改变运算符运算对象的个数;④重载不能改变运算符的优先级和结合性;⑤重载运算符的函数不能有默认的参数;⑥重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是c++的标准类型。故本题答案为c。
8有如下类和对象的定义:
class Constants{
public:
static double getPI(){return 3.1416;}
};
Constants constants:
下列各组语句中,能输出3.1416的是( )。 A. cout
本题共1分,参考答案:D解析:本题考查静态成员函数。静态成员函数由于没有this指针,所以不能访问本类中的非静态成员。引用静态成员函数有2种方式,一种是直接使用类来引用,即Constants::getpI();另一种是使用对象来引用,即constants.getPI()。所以本题答案为D。
9程序流程图中带有箭头的线段表示的是( )。 A. 图元关系B. 数据流C. 控制流D. 调用关系
本题共1分,参考答案:C解析:在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。
10下列程序的执行结果为( )。
#include
void main()
{
int a=3,b=0;
int*P =&a;
b=+a++;
cout<<*P<<”,”<<< p>
}A. 3,4B. 4,3C. 3,4D. 4,4
本题共1分,参考答案:B解析:*P为所指对象a的值,语句“b=+a++;”等价于“b=b+a;a=a+1;”。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |