1.填空题: | int main( ) { cout<<"That is My Goal. "<<endl return 0; } | |
解答: | #include using namespace std; ; | |
2.单选题: | 已知f1、f2是同一类的两个成员函数,但f2不能调用f1,说明( )。 | |
A. f1是静态,f2不是 | ||
B. f1、f2都是静态函数 | ||
C. f1不是,f2是静态的 | ||
D. f1、f2都不是静态函数 | ||
解答: | 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.a和x.b值分别是:( )。 | |
A. 40, 10 | ||
B. 10, 40 | ||
C. 20, 10 | ||
D. 10, 20 | ||
解答: | A | |
28.单选题: | cin是I0流库预定义的( )。 | |
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小时内删除。
发表评论