最新c++题库及答案

内容发布更新时间 : 2025/5/15 12:25:23星期一 下面是文章的全部内容请认真阅读。

3. 有关多态性说法不正确的是()

A. C++语言的多态性分为编译时的多态性和运行时的多态性 B. 编译时的多态性可通过函数重载实现 C. 运行时的多态性可通过模板和虚函数实现 D. 实现运行时多态性的机制称为动态多态性 答案:C

解析:多态性分为静态的和动态的。静态通过函数的重载来实现,动态是通过基类指针或 基类引用和虚函数来实现的。所以错误的是C项。

4. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语 句后,x.a和x.b的值分别为() A. 1和0 B. 1和4 C. 4和0 D. 4和1 答案:A

解析:带默认的构造函数,对应实参没有值时就采用形参值。调用构造函数时,i=1,不采 用默认值,而只有一个参数,j采用默认值0即j=0,因此a=1,b=0,选择A项。 5. 类MyA的拷贝初始化构造函数是() A. MyA()

B. MyA(MyA*) C. MyA(MyA&) D. MyA(MyA)

答案:C

解析:复制即拷贝构造函数使用对象的引用作形参,防止临时产生一个对象,A无参构造函 数,B是指针作为形参,D项是对象,所以选择C项。 6. 在C++中,函数原型不能标识() A. 函数的返回类型 B. 函数参数的个数 C. 函数参数类型 D. 函数的功能 答案:D

解析:函数的声明,说明函数的参数、返回类型以及函数名,函数体即实现部分决定功能。所以

函数的原型不能决定函数的功能。 7. 友元关系不能() A. 提高程序的运行效率 B. 是类与类的关系

C. 是一个类的成员函数与另一个类的关系 D. 继承 答案:D

解析:友元可以是函数与类的关系即友元函数,也可以类与类的关系即友元类,但友元不 能继承,是单向性,且不具有传递性。友元可以访问类中所有成员,提高了访问的方便性。因此

选择D项。

8. 实现两个相同类型数加法的函数模板的声明是() A. add(T x,T y) B. T add(x,y) C. T add(T x,y) D. T add(T x,T y)

答案:D

解析:实现两个相同类型数加法结果应该和操作数具有相同类型。进行加法运算后结果也 是和参数具有相同类型,需要返回值。A无返回值时要用void,B形参无类型,C形参y没有类型

,所以选择D项。

9. 在int a=3,int *p=&a;中,*p的值是() A. 变量a的地址值 B. 无意义

C. 变量p的地址值 D. 3

答案:D

解析:*p代表引用a变量的值,p代表a的地址值。所以选择D项。 10. 下列不是描述类的成员函数的是() A. 构造函数 B. 析构函数 C. 友元函数

D. 拷贝构造函数 答案:C

解析:构造函数、析构函数、拷贝构造函数都是特殊的成员函数,友元则不是成员函数。 所以选择C项。

11. 如果从原有类定义新类可以实现的是() A. 信息隐藏 B. 数据封装 C. 继承机制 D. 数据抽象 答案:C

解析:继承指在原有类的基础上产生新类。数据封装即数据和操作组合在一起,形成类。 信息的隐藏,通过访问权限来实现。数据抽象,将事物的特征抽象为数据成员或服务。因此选择 C项。

12. 下面有关类说法不正确的是() A. 一个类可以有多个构造函数 B. 一个类只有一个析构函数 C. 析构函数需要指定参数

D. 在一个类中可以说明具有类类型的数据成员 答案:C

解析:构造函数可以有参数、可以重载、因此可以有多个,A项正确。析构函数只有一个不 能重载、不能继承,没有返回值,B项正确,C项错误。 13. 在函数定义中的形参属于()

A. 全局变量 B. 局部变

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi