1.填空题:
int main( ) {
  cout<<"That is My Goal. "<<endl 
return 0;
}
解答:
#include using namespace std; ;
2.单选题:
已知f1f2是同一类的两个成员函数,但f2不能调用f1,说明( )。
A. f1是静态,f2不是
B. f1f2都是静态函数
C. f1不是,f2是静态的
D. f1f2都不是静态函数
解答:
C
3.单选题:
static修饰的数据成员为该类的所有对象(
A. 独享
B. 共享
C. 私有
D. 无法访问
解答:
B
4.单选题:
( )在参数类型或参数个数上不同。
A. 重载函数
B. 带默认形参值的函数
C. 内联函数
解答:
A
5.单选题:
类的定义如下,试问:类B的对象占据内存多少字节空间?
class A {
private:
int b;
protected:
int a;
public:
A(int n){ a=n;}
};
class B: public A {
public:
B(int n):A(n){ c=n;}
private:
int c;
};
A. 4
B. 8
C. 12
D. 6
解答:
C
6.单选题:
下列带默认形参值的函数原型声明正确的是()。
A. int add(int x, int y=5, int z=6);
B. int add(int x=1, int y=5, int z);
C. int add(int x=1, int y, int z=6);
D. int add(int x=1, int y, int z);
解答:
A
7.填空题:
对象将其大部分实现细节隐藏起来,这种机制称为
解答:
封装
8.单选题:
构造函数不具备的特征是 ( )
A. 构造函数可以重载
B. 构造函数必须指定类型说明
C. 构造函数的函数名与类名相同
D. 构造函数可以设置默认参数
解答:
B
9.单选题:
定义类模板用关键字( )。
A. template
B. new
C. const
D. delete
解答:
A
10.填空题:
若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的 声明语句。
解答:
原型
11.单选题:
C++程序的执行总是从( )开始? 
A. 1
B. 注释
C. 头文件
D. main()
解答:构造函数可以被重载
D
12.单选题:
下列( )不是OOP的主要特征? 
A. 封装
B. 继承
C. 多态
D. 结构
解答:
D
13.单选题:
类的构造函数是在( )时间被自动调用的?
A. 创建对象时
B. 删除对象时
C. 不自动调用
D. 类定义时
解答:
A
14.单选题:
C++C语言作了很多改进,即从面向过程变成为面向对象的主要原因是?
A. 引进了类和对象的概念
B. 增加了一些新的运算符
C. 规定函数说明符必须用原型
D. 允许函数重载,并允许设置缺省参数
解答:
A
15.单选题:
如果类A被说明成类B的友元,则( )
A. B不一定是类A的友元
B. A的成员函数不得访问类B的成员
C. B的成员即类A的成员
D. A的成员即类B的成员
解答:
A
16.单选题:
派生类中实现基类成员初始化,需由派生类的构造函数调用( )的构造函数来完成。
A. 基类
B. 派生类
解答:
A
17.单选题:
不具访问权限属性的是( )
A. 非类成员
B. 类成员
C. 数据成员
D. 函数成员
解答:
A
18.单选题:
继承机制的作用是( )
A. 数据封装
B. 信息隐藏
C. 定义新类
D. 数据抽象
解答:
C
19.单选题:
关于函数的参数传递(argument passing),下列说法错误的是()。
A. 参数传递,即是形参与实参结合的过程。
B. 形实结合的方式有:值传递和引用传递。
C. 在函数被定义时就分配形参的存储单元。
D. 实参可以是常量、变量或表达式。
解答:
C
20.单选题:
为了实现包含多态,派生类需要重新定义基类中的( )。
A. 数据成员
B. 成员函数
C. 构造函数
解答:
B
21.单选题:
继承机制的作用是( )
A. 数据封装
B. 信息隐藏
C. 定义新类
D. 数据抽象
解答:
C
22.单选题:
编译时多态性通过( )函数实现。
A. 重载函数
B. 包含多态
C. 虚函数
D. 抽象函数
解答:
A
23.单选题:
以下说法中正确的是( )
A. C++函数必须有返回值,否则不能使用函数
B. C++程序总是从main函数开始执行
C. C++程序总是从第一个定义的函数开始执行
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
解答:
B
24.单选题:
运行C++程序的基本步骤为:( )
A. 编写源程序、编译、连接、运行
B. 编写源程序、连接、编译、运行
C. 编写源程序、连接、解释、运行
D. 编写源程序、编译、解释、运行
解答:
A
25.单选题:
以下关于函数模板叙述正确的是( )
A. 函数模板也是一个具体类型的函数
B. 函数模板的类型参数与函数的参数是同一个概念
C. 用函数模板定义的函数没有类型
D. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
解答:
D
26.单选题:
在派生类中能直接访问基类的( )。
A. 公有成员,保护成员
B. 不可访问成员,私有成员
C. 公有成员,私有成员
D. 保护成员,私有成员
解答:
A
27.单选题:
假定一个类的构造函数为:
A(int aa=20, int bb=10){
a=aa; b=bb;
}
则执行:A x(40) 后,x.ax.b值分别是:( )。
A. 40, 10
B. 10, 40
C. 20, 10
D. 10, 20
解答:
A
28.单选题:
cinI0流库预定义的( )
A. 包含文件
B. 常量
C.
D. 对象
解答:
D
29.填空题:
#include <iostream>
using namespace std;
int main( ) {
 
  cin>>x;
  int p=x*x;
  cout<<"p=" <<p<<"\n";
  return 0;
}
解答:
int x;
30.单选题:
调用一成员函数时,使用动态联编的情况是( )。
A. 通过指针或引用调用一虚函数
B. 通过对象调用一虚函数
C. 通过对象调用静态函数
D. 通过指针或引用调用一静态函数
解答:
A
31.单选题:
( )情况下适宜采用inline定义内联函数。
A. 需要加快程序的执行速度
B. 函数代码多、不常调用
C. 函数体含有循环语句
D. 函数体含有递归语句
解答:
A
32.填空题:
通过引用传递(reference passing),将两个整数交换。
void swap(int , int ) {   
   
int t=a;
a=b;
b=t;
}
解答:
&a &b
33.单选题:
C++中访问指针所指对象的成员要使用运算符(
A. ->
B. .
解答:
A
34.单选题:
如果重载了运算符+,则相应运算函数名是( )
A. +
B. operator+
C. operator
解答:
B
35.单选题:
关于重载函数,以下正确的是( )。
A. int add(int x, int y);int add(int a, int;以形参名来区分。
B. int add(int x, int y);void add(int x, int y);以返回值来区分。
C. int add(int x, int y){ return x + y; } float add(float x, float y){ return x - y; } 不同的函数功能重载。
D. float add(float x, float y); int add(int x, int y); int add(int a, int b, int c); 以形参个数或类型来区分。
解答:
D
36.单选题:
C++中,封装是借助什么达到的( )
A. 结构
B. 数组
C.
D. 函数
解答:
C
37.填空题:
n的阶乘。
unsigned fac(unsigned n){
unsigned f;
if (n==0)
f=1;
else
return f;
}
解答:
f=fac(n-1)*n;
38.单选题:
一段程序的定义如下,在函数f()中将动态对象的成员n的值改为123 的语句应该为 ( ) class A {
public:
setn(int nl) { n=nl; }
A(int x) { n = x; }
private:
int n;
};
int f() {
A *ptr = new A(45);
}
A. setn(123);
B. ptr->setn(123);
C. A(123);
D. ptr.setn(123);
解答:
B
39.单选题:
类的析构函数的作用是( )
A. 类的初始化
B. 对象的初始化
C. 一般成员函数
D. 删除对象创建的所有对象
解答:
D
40.单选题:
C++语言是一种( )的程序设计语言?
A. 机器语言
B. 汇编语言
C. 高级语言
D. 智能语言
解答:
C
41.单选题:
在成员函数的函数体之前加( )关键字,可以防止函数改变数据成员的值。
A. const
B. static
C. inline
D. class
解答:
A
42.单选题:
( )情况下适宜采用inline定义内联函数。
A. 需要加快程序的执行速度
B. 函数代码多、不常调用
C. 函数体含有循环语句
D. 函数体含有递归语句
解答:
A
43.单选题:
在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是 ( )
A. 作为成员函数重载的1元运算符
B. 作为友元函数重载的2元运算符
C. 作为成员函数重载的2元运算符
D. 作为友元函数重载的1元运算符
解答:
A
44.单选题:
在关键字public后面定义的成员为类的( )
A. 任何成员
B. 公有成员
C. 保护成员
D. 私有成员
解答:
B
45.单选题:
C++支持两种多态性: )时的多态性和运行时的多态性。
A. 编译
B. 包含
解答:
A
46.单选题:
C++鼓励程序员将( )。
A. 数据和操作分别封装
B. 不同作用的操作封装在一起。
C. 不同类型的数据封装
D. 数据和操作封装在一起
解答:
D
47.单选题:
以下哪个基类中的成员函数表示纯虚函数?( )
A. virtual void tt(int){}
B. virtual void tt(int)
C. void tt(int) = 0
D. virtual void tt()=0
解答:
D
48.单选题:
如果一个派生类只有一个唯一的基类,则这样的继承关系称为( )。
A. 单继承
B. 多继承
C. 多重继承
D. 多层继承
解答:
A
49.单选题:
类定义中private,protected,public 出现次数为( )。
A. 任意多次
B. public 至少一次
C. 至多一次
D. 至少一次
解答:
A
50.单选题:
C++中,最好用( )代替malloc
A. delete
B. memset
C. new
D. calloc
解答:
C
51.单选题:
以下说法中正确的是( )
A. C++函数必须有返回值,否则不能使用函数
B. C++程序总是从main函数开始执行
C. C++程序总是从第一个定义的函数开始执行
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
解答:
B
52.填空题:
判断一个数是否是回文数。
bool symm(unsigned n) {
unsigned i=n;
unsigned m=0;
while( i>0 ) {
i/=10;
}
return m==n;
}
解答:
m=m*10+i%10;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。