C考试复习题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题

(1)下面关于类和对象的描述中,错误的是

A)类就是C语言中的结构体类型,对象就是C语言中的结构体变量

B)类和对象之间的关系是抽象和具体的关系

C)对象是类的实例,一个对象必须属于一个已知的类

D)类是具有共同行为的若干对象的统一描述体

(2)以下各选项组中,均是C++语言关键字的组是

A) public operator this B)shod string static

C)it while >= D)private cout printf

(3)在C++语言中,数据封装要解决的问题是

A)数据的规范化B)便于数据转换

C)避免数据丢失D)防止不同模块之间数据的非法访问

(4)以下程序中,错误的行是

①#include

②class A

③{

④ public:

⑤ int n=2:

⑥ A( int val){cout<

⑦~A(){};

⑧};

⑨void main()

⑩{

⑩ A a(0);

⑩}

A)⑤ B)⑥ C)⑦ D)⑩

(5)对类的构造函数和析构函数描述正确的是

A)构造函数可以重载,析构函数不能重载

B)构造函数不能重载,析构函数可以重载

C)构造函数可以重载,析构函数也可以重载

D)构造函数不能重载,析构函数也不能重载

(6)下面程序的运行结果为

#include(iostream. h>

class A

{

int num;

public:

A(int i){num=i;}

A(A &a){num=a. num++;}

void print(){cout<

};

void main()

{

A a(1),b(a);

a. print();

b.print();

A)11 B)12 C)21 D)22

(7)下面对静态数据成员的描述中,正确的是

A)静态数据成员是类的所有对象共享的数据

B)类的每个对象都有自己的静态数据成员

C)类的不同对象有不同的静态数据成员值

D)静态数据成员不能通过类的对象调用

(8)如果类A被说明成类B的友元,则

A)类A的成员即类B的成员

B)类B的成员即类A的成员

C)类A的成员函数不得访问类B的成员

D)类B不一定是类A的友元

(9)可以用p.a的形式访问派生类对象P的基类成员a,其中a是

A)私有继承的公有成员B)公有继承的私有成员

C)公有继承的保护成员 D)公有继承的公有成员

(10)建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为

A)abc B)acb C)cab D)cba

(11)下面关于虚函数的描述,错误的是

A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数

B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数

C)虚函数可以是另一个类的友元函数,但不能是静态成员函数

D)基类中说明的纯虚函数在其任何派生类中都必须实现

(12)下面关于模板的描述,错误的是

A)函数模板和类模板的参数可以是任意的数据类型

B)类模板不能直接使用,必须先实例化为相应的模板类.然后定义了模板类的对象后才能使用

C)函数模板不能直接使用,需要实例化为模板函数后才能使用

D)类模板的成员函数都是模板函数

(13)语句ofstream f(”SALARY. DAT",ios::app iios::binary);的功能是建立流对象f,试图打开文件SALARY. D AT 并与之连接,并且

A)若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件

B)若文件存在,将其置为空文件;若文件不存在,打开失败

C)若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件

D)若文件存在,打开失败;若文件不存在,建立一个新文件

(14)下面程序的运行结果是

#include

void main()

{

int num=1;

int &ref=num;

ref=ref+2;

cout<

num=num+3;

cout<

}

A)13 B)16 C)36 D)33

(15)假定AB为一个类,则该类的拷贝构造函数的声明语句为。

A. AB &(AB x) B. AB(AB x)

C. AB(AB &) D. AB(AB * x)

(16)对于结构中定义的成员,其隐含访问权限为。

A. public B. protected

C. private D. static

(17)当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为。

A. ios::in B. ios::out

C. ios::int | ios::out D. 没有

(18)下列关于C++语言类的描述中错误的是

A)类用于描述事物的属性和对事物的操作

B)类与类之间通过封装而具有明确的独立性

C)类与类之间必须是平等的关系,而不能组成层次结构

D)类与类之间可以通过一些方法进行通信和联络

(19)下列描述中哪个是正确的。

A)私有派生的子类无法访问父类的成员

B)类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的

C)私有派生类不能作为基类派生子类

D)私有派生类的所有子孙类将无法继续继承该类的成员

(20)下列关于构造函数说法不正确的是

A)构造函数必须与类同名

B)构造函数可以省略不写

C)构造函数必须有返回值

D)在构造函数中可以对类中的成员进行初始化

(21)如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是

A)一元运算符 B)二元运算符

C)选项A)和选项B)都可能 D)重载错误

(22)在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是

A)一元成员运算符 B)二元成员运算符

C)一元友元运算符 D)选项B)和选项C)都可能

(23)下列关于模板的说法正确的是

A)模板的实参在任何时候都可以省略 B)类模板与模板类所指的是同一概念

C)类模板的参数必须是虚拟类型的 D)类模板中的成员函数全部都是模板函数

(24)表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是

A) showbase()和eof() B)showpoint()和eof()

C)showpoint()和bad() D)showpoint()和good()

(25)一个类的友元函数能够访问该类的

A)私有成员 B)保护成员 C)公有成员 D)所有成员

(26)C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是

A)增加了一些新的运算符

B)允许函数重载,并允许设置缺省参数

C)规定函数说明符必须用原型

相关文档
最新文档