最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

C++试题及答案

IT圈 admin 23浏览 0评论

2024年6月5日发(作者:俞思菱)

C++试卷

一、选择题(每题1分)

1.下面是关于构造函数的说法,不正确的是( )。

A. C++规定,每一个类必须有一个构造函数,没有构造函数就不能创建对象

B. 如果没有提供一个类的构造函数(一个都未提供),则C++提供一个默认的构造函数,该默认构造函数是个无

参构造函数,它仅仅负责创建对象

C. 虽然一个类定义了一个构造函数(不一定是无参构造函数),C++仍然提供默认的构造函数

D. 与变量定义类似,在用默认构造函数创建对象时,如果创建的是全局对象或静态对象,则对象的位模式全为0,

否则,对象值是随机的

2.在下列说法中,不正确的是( )。

A. 静态成员函数不能利用this指针

B. 只有非静态成员才可以使用this关键字,因为静态成员没有this指针

C.析构函数不接受任何参数,也不带有任何类型的返回值

D. 虚机制在构造函数和析构函数中仍然可以很好地工作,以实现多态性

3. 多重继承的构造顺序一般可分为4步,下面给出这4个步骤:

step1: 任何非虚拟基类的构造函数按照它们被继承的顺序构造。

step2: 任何虚拟基类的构造函数按照它们被继承的顺序构造。

step3: 任何成员对象的构造函数按照它们声明的顺序构造。

step4: 类自己的构造函数。

这4个步骤的正确顺序是( )。

A. step4、step3、step1、step2 B. step2、step4、step3、step1

C. step2、step1、step3、step4 D. step3、step4、step1、step2

4.若程序中有非法操作,则( )。

A. eofbit置位 t置位 置位 t置位

5.设置填充字符的函数是( )。

ios::width(int) ios::width() ios::fill(char) ios::fill()

6.返回当前精度的成员函数是( )。

ios::width(int) ios::width() ios::precision() D. int ios::precision(int)

7.要求浮点输出时必须带有一个小数点的格式控制常量是( )。

e s int

8.目前推荐的C++标准( )虚构造函数。

A. 不支持 B. 支持 C. 曾经支持过 D.已经由过去的不支持改为支持

9.下列对模板的声明,正确的是( )。

A. template B. template

C. template D. template

10. 友元运算符obj++被C++编译器解释为( )。

A. operator++(obj) B. operator++(obj,0)

B. or++( ) D. or++(0)

11. C++ 的运算符函数的返回类型( )。

A. 可以是任意类型 B. 不可以是int类型

C. 不能是 void 类型 D. 不可以是float类型

12.声明类test的复制构造函数的正确形式是( )。

A. int test B. void test C. test(void) D. test(test&)

1 2013-4-16

13.一个const对象( )。

A. 能访问所有成员函数 B. 只能访问const成员函数

C. 也能访问volatile成员函数 D. 能访问const和volatile成员函数

14.下面关于类的对象性质的描述,正确的是( )。

A. 对象之间不可以相互赋值 B. 不可以说明指向对象的指针

C. 对象不能用作数组元素 D. 一个对象能用作另一个对象的成员

二、填空题(每题2分)

1.在c++中,除具有 、 语句的函数不能说明为内联函数外,其它函数都可以说明为内联函数。

2.在c++中,封装可以由 、 和 等关键字提供。

3.若example是已定义的类,在程序结束之前,共计存在 个对象。

#include”example”

main()

{example X(0);

X=5;();

X=example(10);

();

}

4.由于二义性原因,一个类不能从同一个类中直接 一次以上,如果必须这样做,可以使用一

个 。

5.在c++中,如果在多条继承路径有一个公共的基类,如果想使这个公共的基类只产生一个拷贝,则可以将这个基

类说明为 。使用关键字 说明。

6.简单成员函数是指声明中不含有 、 、 关键字的函数。

7.静态成员为该类的所有 共享,它们被存储于一个 中。

8.在c++中声明 和 时使用volatile或const均是非法的。

9.当访问私有静态数据成员时,可通过定义公有的 来访问。

10.有关继承,静态成员 被继承,友元 被继承。

11.c++不允许重载 、 、 、 运算符。

12. 、 、 、 四个运算符只能用类运算符来重载。

13.c++提供两种格式控制方式,一种是 ,另一种是 。

14.如果Empty是从某个其它类派生出来的,而且这个其它类又有一个析构函数,c++也将为Empty写一

个 。

15.当一个基类定义了赋值或初始化语义,而其派生类却未定义赋值或初始化语义时,c++编译器为该派生类自动生

成一个 或 函数。

16.如果程序员定义class Empty{}; ,下列各语句将产生的函数名称是:

a. const Empty e1; //

b. Empty e2=e1; //

2 2013-4-16

2024年6月5日发(作者:俞思菱)

C++试卷

一、选择题(每题1分)

1.下面是关于构造函数的说法,不正确的是( )。

A. C++规定,每一个类必须有一个构造函数,没有构造函数就不能创建对象

B. 如果没有提供一个类的构造函数(一个都未提供),则C++提供一个默认的构造函数,该默认构造函数是个无

参构造函数,它仅仅负责创建对象

C. 虽然一个类定义了一个构造函数(不一定是无参构造函数),C++仍然提供默认的构造函数

D. 与变量定义类似,在用默认构造函数创建对象时,如果创建的是全局对象或静态对象,则对象的位模式全为0,

否则,对象值是随机的

2.在下列说法中,不正确的是( )。

A. 静态成员函数不能利用this指针

B. 只有非静态成员才可以使用this关键字,因为静态成员没有this指针

C.析构函数不接受任何参数,也不带有任何类型的返回值

D. 虚机制在构造函数和析构函数中仍然可以很好地工作,以实现多态性

3. 多重继承的构造顺序一般可分为4步,下面给出这4个步骤:

step1: 任何非虚拟基类的构造函数按照它们被继承的顺序构造。

step2: 任何虚拟基类的构造函数按照它们被继承的顺序构造。

step3: 任何成员对象的构造函数按照它们声明的顺序构造。

step4: 类自己的构造函数。

这4个步骤的正确顺序是( )。

A. step4、step3、step1、step2 B. step2、step4、step3、step1

C. step2、step1、step3、step4 D. step3、step4、step1、step2

4.若程序中有非法操作,则( )。

A. eofbit置位 t置位 置位 t置位

5.设置填充字符的函数是( )。

ios::width(int) ios::width() ios::fill(char) ios::fill()

6.返回当前精度的成员函数是( )。

ios::width(int) ios::width() ios::precision() D. int ios::precision(int)

7.要求浮点输出时必须带有一个小数点的格式控制常量是( )。

e s int

8.目前推荐的C++标准( )虚构造函数。

A. 不支持 B. 支持 C. 曾经支持过 D.已经由过去的不支持改为支持

9.下列对模板的声明,正确的是( )。

A. template B. template

C. template D. template

10. 友元运算符obj++被C++编译器解释为( )。

A. operator++(obj) B. operator++(obj,0)

B. or++( ) D. or++(0)

11. C++ 的运算符函数的返回类型( )。

A. 可以是任意类型 B. 不可以是int类型

C. 不能是 void 类型 D. 不可以是float类型

12.声明类test的复制构造函数的正确形式是( )。

A. int test B. void test C. test(void) D. test(test&)

1 2013-4-16

13.一个const对象( )。

A. 能访问所有成员函数 B. 只能访问const成员函数

C. 也能访问volatile成员函数 D. 能访问const和volatile成员函数

14.下面关于类的对象性质的描述,正确的是( )。

A. 对象之间不可以相互赋值 B. 不可以说明指向对象的指针

C. 对象不能用作数组元素 D. 一个对象能用作另一个对象的成员

二、填空题(每题2分)

1.在c++中,除具有 、 语句的函数不能说明为内联函数外,其它函数都可以说明为内联函数。

2.在c++中,封装可以由 、 和 等关键字提供。

3.若example是已定义的类,在程序结束之前,共计存在 个对象。

#include”example”

main()

{example X(0);

X=5;();

X=example(10);

();

}

4.由于二义性原因,一个类不能从同一个类中直接 一次以上,如果必须这样做,可以使用一

个 。

5.在c++中,如果在多条继承路径有一个公共的基类,如果想使这个公共的基类只产生一个拷贝,则可以将这个基

类说明为 。使用关键字 说明。

6.简单成员函数是指声明中不含有 、 、 关键字的函数。

7.静态成员为该类的所有 共享,它们被存储于一个 中。

8.在c++中声明 和 时使用volatile或const均是非法的。

9.当访问私有静态数据成员时,可通过定义公有的 来访问。

10.有关继承,静态成员 被继承,友元 被继承。

11.c++不允许重载 、 、 、 运算符。

12. 、 、 、 四个运算符只能用类运算符来重载。

13.c++提供两种格式控制方式,一种是 ,另一种是 。

14.如果Empty是从某个其它类派生出来的,而且这个其它类又有一个析构函数,c++也将为Empty写一

个 。

15.当一个基类定义了赋值或初始化语义,而其派生类却未定义赋值或初始化语义时,c++编译器为该派生类自动生

成一个 或 函数。

16.如果程序员定义class Empty{}; ,下列各语句将产生的函数名称是:

a. const Empty e1; //

b. Empty e2=e1; //

2 2013-4-16

发布评论

评论列表 (0)

  1. 暂无评论