2012秋第一次在线作业
试卷总分:100
单选题 判断题
一、单选题(共 20 道试题,共 60 分。)
1.在一个类的定义中,包含有数据成员和()的定义。
A. 数据
B. 函数
C. 成员函数
D. 友元
2.下列说法中正确的是()。
A. 类定义中只能说明函数成员的函数头,不能定义函数体
B. 类中的函数成员可以在类体中定义,也可以在类体之外定义
C. 类中的函数成员在类体之外定义时必须要与类声明在同一文件中
D. 在类体之外定义的函数成员不能操作该类的私有数据成员
3.假设已经有定义char*const name="chen"; 下面的语句中正确的是()。
A. name[3]= ''q'';
B. name="lin";
C. name=new char[5];
D. name=new char (''q'') ;
4.下面有关重载函数的说法中正确的是()。
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同;
5.假定classA为一个类,a为该类公有的数据成员,px为指向该类对象的指针,则访问px所指对象中数据成员a的格式为()。
A. px(a)
B. px[a]
C. px-a
D. px.a
6.假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。
A. x.f
B. x.f()
C. x-f
D. x-f()
7.类的析构函数的作用是()。
A. 一般成员函数的初始化
B. 类的初始化
C. 对象的初始化
D. 删除类创建的对象
此题选: D
8.定义p并使p指向动态空间中的包含10个整数的数组所使用的定义语句为()。
A. int *p=new[10];
B. int *p=new int(10);
C. *p=new int[10];
D. int *p=new int[10];
此题选: D
9.类的析构函数是在()被调用的。
A. 类创建时
B. 创建对象时
C. 删除对象时
D. 不自动调用
10.在下面有关静态成员函数的描述中,正确的是()。
A. 在静态成员函数中可以使用this指针
B. 在建立对象前,就可以为静态数据成员赋值
C. 静态成员函数在类外定义时,要用static前缀
D. 静态成员函数只能在类外定义
11.在C++程序中,对象之间的相互通信通过()。
A. 继承实现
B. 调用成员函数实现
C. 封装实现
D. 函数重载实现
12.假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=bb;}”, 则执行“A x(4);”语句后,x.a和x.b的值分别为()。
A. 1和0
B. 1和4
C. 4和0
D. 4和1
13.假设已经有定义const char*name="chen"; 下面的语句中错误的是()。
A. name[3]= ''q'';
B. name="lin";
C. name=new char[5];
D. name=new char(''q'');
14.假定一个类的构造函数为“B(int a, int b):a(ax),b(bx){}”, 则执行“B x(6,5);y(3,2);”语句序列后,x.a的值为()。
A. 2
B. 3
C. 5
D. 6
此题选: D
15.下列关于构造函数的描述中,错误的是()。
A. 构造函数可以设置默认参数;
B. 构造函数在定义类对象时自动执行
C. 构造函数可以是内联函数
D. 构造函数不可以重载
此题选: D
16.在下面有关友元函数的描述中,正确的说法是()。
A. 友元函数是独立于当前类的外部函数
B. 一个友元函数不能同时定义为两个类的友元函数
C. 友元函数必须在类的外部定义
D. 在外部定义友元函数时,必须加关键字friend
17.构造函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。
A. public
B. private
C. protected
D. static
18.在下面有关析构函数特征的描述中,正确的是()。
A. 一个类中可以定义多个析构函数
B. 析构函数名与类名完全相同
C. 析构函数不能指定返回类型
D. 析构函数可以有一个或多个参数
19.将客观实体的特征与行为作为不可分割的整体进行程序设计的方法称为()程序设计。
A. 面向应用
B. 面向过程
C. 面向对象
D. 面向系统
20.静态成员函数仅能访问()。
A. 静态的数据成员
B. 非静态的成员函数
C. 非静态的数据成员
D. 以上都不对
2012秋第一次在线作业
试卷总分:100
单选题 判断题
二、判断题(共 20 道试题,共 40 分。)
1.类和对象之间的关系是具体和抽象的关系。
A. 错误
B. 正确
2.C++中,对象保存在内存中,堆内存是自动分配和释放的,而栈内存需要用户自己申请和释放。
A. 错误
B. 正确
3.类中成员的默认访问属性为公有,结构中成员的默认访问属性为私有。
A. 错误
B. 正确
4.C++中的函数调用就是面向对象理论中的消息。
A. 错误
B. 正确
5.构造函数和析构函数都与类同名。
A. 错误
B. 正确
6.拷贝构造函数使用本类对象的指针作为参数初始化新创建的对象。
A. 错误
B. 正确
7.C++对由const修饰符定义的常量进行严格的类型检查,但对用define定义的常量则不进行类型检查。
A. 错误
B. 正确
8.对于类中的对象成员既可以在构造函数的初始化列表中初始化也可以在构造函数体中初始化。
A. 错误
B. 正确
9.C++语言对同一字母的大小写将认为是同一字符。
A. 错误
B. 正确
10.通过类对象可以访问类中所有的成员。
A. 错误
B. 正确
11.类中成员的默认访问属性为私有,结构中成员的默认访问属性为公有。
A. 错误
B. 正确
12.C++利用类来实现面向对象程序设计的继承性。
A. 错误
B. 正确
13.在面向对象的程序设计中,将一组对象的共同特性抽象出来形成类。
A. 错误
B. 正确
14.C++利用函数重载实现面向对象程序设计的封装性。
A. 错误
B. 正确
15.拷贝构造函数是重载的构造函数。
A. 错误
B. 正确
16.原型说明中没有指出返回类型的函数(包括主函数main),C++默认该函数的返回类型是void
A. 错误
B. 正确
17.用对象访问成员时应使用运算符“.",用指向对象的指针访问成员时应使用运算符“-"。
A. 错误
B. 正确
18.成员函数体写在类的外部时不必在类的内部保留函数声明。
A. 错误
B. 正确
19.在默认参数函数的原型中,所有取缺省值的参数都必须出现在不取缺省值的参数的右边。
A. 错误
B. 正确
20.C++与C语言本质差别在于C++语言是面向对象的,而C语言是面向过程的。
A. 错误
B. 正确
版权声明
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益
请联系本站我们将配合处理!