目录

C++ Mock Test

本节介绍与C++ Framework相关的各种模拟测试。 您可以在本地计算机上下载这些示例模拟测试,并在方便时离线解决。 每个模拟测试都提供一个模拟测试密钥,让您自己验证最终得分和评分。

问题和解答

C++ Mock Test I

问题1 - 类成员的默认访问指定符是

A - public

B - private

C - protected

D - 以上都不是。

Answer : B

解释 (Explaination)

如果一个成员/ s出现在类中,并且没有访问说明符,则默认为private。

问题2 - 三字形字符以。开头

A - #

B - ##

C - ?

D - ??

Answer : C

解释 (Explaination)

几个字符有替代表示,并以??开头。 例如。 [相当于??(

Answer : D

解释 (Explaination)

C ++支持所有形式的继承。

Answer : A

解释 (Explaination)

因为内联函数在调用行扩展,就像宏一样,它执行得更快。

Answer : D

解释 (Explaination)

纯虚函数不能有定义。

Answer : B

解释 (Explaination)

在类中有一个纯虚函数就足以使它成为一个抽象类。

问题7 - 以下程序的输出是什么?

#include<iostream>
using namespace std;
class abc { 
   void f();
   void g();
   int x;
};
main() {
   cout<<sizeof(abc)<<endl;
}

A - 12

B - 4

C - 8

D - 编译错误

Answer : B

解释 (Explaination)

只有类成员变量构成类或其对象的大小。

#include<iostream>
using namespace std;
class abc { 
   void f();
   void g();
   int x;
};
main() {
   cout<<sizeof(abc)<<endl;
}

问8 - 以下程序的输出是什么?

#include<iostream>
using namespace std;
class abc { 
   public: 
      static int x; 
      int i; 
      abc() {
         i = ++x;
      }
   };
int abc::x;
main() { 
   abc m, n, p;
   cout<<m.x<<" "<<m.i<<endl;
}

A - 3 1

B - 3 3

C - 1 1

D - 1 3

Answer : A

解释 (Explaination)

静态成员变量'x'在为该类创建的所有对象中共享公共内存。

#include<iostream>
using namespace std;
class abc { 
   public: 
      static int x; 
      int i; 
      abc() {
         i = ++x;
      }
   };
int abc::x;
main() { 
   abc m, n, p;
   cout<<m.x<<" "<<m.i<<endl;
}

问题9 - 构造函数可以是虚拟的。

A - True

B - False

Answer : B

解释 (Explaination)

构造函数的目的不能在派生类中重写,因此构造函数不能是虚拟的。

问题10 - 选择不能超载的运算符。

A - /

B - ()

C - ::

D - %

Answer : C

解释 (Explaination)

范围解析(::)不允许重载。

问题11 - 哪个运算符仅作为成员函数需要重载?

A - _

B - _ _

C - ++ (postfix version)

D - =

Answer : D

解释 (Explaination)

重载赋值运算符执行类似于复制构造函数的工作,并且需要作为类的成员函数重载。

问题12 - 以下哪项不是C ++中的关键字?

A - volatile

B - friend

C - extends

D - this

Answer : C

解释 (Explaination)

所有其余的都是C ++的有效关键字。

问13 - 以下程序的输出是什么?

#include<iostream>
using namespace std;
class abc { 
   public: 
      int i; 
      abc(int i) { 
         i = i;
      }
};
main() { 
   abc m(5); 
   cout<<m.i;
}

A - 5

B - Garbage

C - 语句i = i时的错误;

D - 编译错误:'我'声明了两次。

Answer : B

解释 (Explaination)

i = i,正在为自己分配成员变量。

#include<iostream>
using namespace std;
class abc { 
   public: 
      int i; 
      abc(int i) { 
         i = i;
      }
};
main() { 
   abc m(5); 
   cout<<m.i;
}

Answer : C

解释 (Explaination)

如果没有为结构变量/函数指定访问说明符,则默认值被视为公共。

Answer : A

解释 (Explaination)

问题16 - 为表达式'ptr = new int [100]'选择相应的删除运算符用法。

A - 删除ptr;

B - 删除ptr [];

C - 删除[] ptr;

D - []删除ptr;

Answer : C

解释 (Explaination)

Answer : B

解释 (Explaination)

它是istream类的对象。

问题18 - 运算符用于使用其对象访问结构的成员函数。

A - .

B - -》

C - *

D - 以上都不是。

Answer : A

解释 (Explaination)

就像我们使用点(。)运算符来访问类的成员一样,类似地它也用于访问结构的成员。

问题19 - 用户定义的头文件通常包含在以下语句中。

A - #include “file.h”

B - #include 《file.h》

C - #include 《file》

D - #include file.h

Answer : A

解释 (Explaination)

使用(a)中的语法,编译器首先在当前工作目录中查找文件,然后在默认包含路径中查找(如果未找到)。

问题20 - 哪种数据类型可用于在C ++中保存宽字符?

A - unsigned char;

B - int

C - wchar_t

D - 以上都不是。

Answer : C

解释 (Explaination)

wchar_t是用于保存Unicode字符的数据类型。

问题21 - 即使类对象是常量对象,哪个是用于修改成员变量的存储说明符?

A - auto

B - register

C - static

D - mutable

Answer : D

解释 (Explaination)

mutable是C ++中引入的存储说明符,在C中不可用。使用mutable声明的类成员虽然对象是常量,但是可以修改。

问题22 - 以下运算符可用于计算一个数字到另一个数字的值。

A - ^

B - **

C - ^^

D-上述之一

Answer : D

解释 (Explaination)

在C/C ++中没有这样的运算符。

问题23 - 以postfix形式获取有效的重载++声明,其中T是类名。

A - T operator++();

B - T operator++(int);

C - T& operator++();

D - T& operator++(int);

Answer : B

解释 (Explaination)

参数int只是表示它是重载的后缀形式。 不应该按照其原始行为返回引用。

问24 - 对于重载形式的()运算符,我们可以有不同数量的参数。

A - True

B - False

Answer : A

解释 (Explaination)

Answer : B

解释 (Explaination)

提到的运算符都不能超载。

答题卡

问题编号 答案钥匙
1B
2C
3D
4A
5D
6B
7B
8A
9B
10C
11D
12C
13B
14C
15A
16C
17B
18A
19A
20C
21D
22D
23B
24A
25B
↑回到顶部↑
WIKI教程 @2018