77范文网 - 专业文章范例文档资料分享平台

习题一(带答案)

来源:网络收集 时间:2019-01-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

习题一

习题中红色字体的题目是暂时没有讲到的,同学们可以暂时跳过。

一、填空题

1、面向对象的程序设计有四大特点,它们是抽象、封装、( )、( )。

2、类中的成员使用特定的关键字指定不同的访问特性,其中( )成员是提供给外部的接口,在类中和类外可见。

3、protected成员的访问权限:派生类( )访问protected成员,派生类对象( )访问protected成员,本类的对象( )访问protected成员(填:能与不能)。 4、C++语言中类成员的访问权限包括private、( )和( )。

5、对一个类中的数据成员的初始化可以通过构造函数中的( )实现,也可以通过构造函数中的( )实现。

6、假定AB为一个类,则执行“AB a[10];”语句时,系统自动调用该类的构造函数的次数为( )。

7、假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为( )。

8、若类X中没有定义拷贝构造函数,则系统为类X定义的默认拷贝构造函数的原型为( )。

9、类中的成员只能为该类的成员函数及该类的派生类中的成员函数访问,则应加上访问属性( )。

10、假设一个类对象数组为a[m],其中m为常变量,当离开它的作用域时,系统自动调用该类析构函数的次数为( )。

11、设p为指向一个动态对象的指针变量,则执行delete p语句时,将自动调用该类的( )。

12、在一个类中定义了全部是默认参数的构造函数后,不能再定义( )构造函数。 13、假设有一个Test类,则执行“Test a(5),b[2],*p;”语句时,自动调用该类构造函数的次数为( )。

14、若将类A的成员函数“void fun();”定义为一个类B的友元函数,则应在类B的定义中加一条语句:( )。

15、当一个对象作用域结束时,系统自动调用( )函数来释放存储空间。 16、对于类中定义的成员,其默认访问权限为( )。

17、每个对象都有一个指向自身的指针,称为( )指针,通过使用它来确定其自身的地址。

18、一个类有( )个析构函数。

19、在类内定义的( )数据不能被不属于该类的成员函数存取。 20、this指针是一个隐含的指针,它隐含于每个类的( )中。 二、选择题

1、以下关于类和对象的叙述错误的是( )。

A. 对象是类的一个实例

B. 任何一个对象都归属于一个具体的类

D. 类与对象的关系和数据类型与变量的关系相似

C. 一个类只能有一个对象

2、以下关于构造函数的叙述错误的是( )。

A. 构造函数名必须与类名相同 C. 构造函数无任何函数类型

B. 构造函数在定义对象时自动执行 D. 在一个类中构造函数又且仅有一个

3、以下关于析构函数的叙述错误的是( )。

A. 一个类中只能定义一个析构函数 B. 析构函数和构造函数一样可以有形参 C. 析构函数不允许有返回值 4、以下叙述正确的是( )。

A. 在类中不作特别说明的数据成员均为私有类型 B. 在类中不作特别说明的成员函数均为公有类型 C. 类成员的定义必须放在类体内

D. 析构函数名前必须冠有符号“~”

D. 类成员的定义必须是成员变量在前,成员函数在后 5、以下叙述不正确的是( )。

A. 一个类的所有对象都有各自的数据成员,它们共享成员函数 B. 一个类中可以有多个同名的成员函数 C. 一个类中可以有多个构造函数、多个析构函数 D. 类成员的定义必须是成员变量在前,成员函数在后 6、以下不属于构造函数特征的是( )。

A. 构造函数名与类名相同

B. 构造函数可以重载

D. 构造函数必须指定函数类型

C. 构造函数可以设置默认参数

7、下列函数中,是类MyClass的析构函数的是( )。

A. ~Myclass();

B. MyClass();

C. ~MyClass();

D. ~MyClass(int n);

8、关于类和对象不正确的说法是( )。

A. 类是一种类型,它封装了数据和操作 B. 对象是类的实例 C. 一个类的对象只有一个 D. 一个对象必属于某个类

9、在类定义的外部,可以被访问的成员有( )。

A. 所有类成员

B. private或protected的类成员 C. public的类成员

D. public或private的类成员

10、关于this指针的说法错误的是( )。

A. this指针不能被显示说明

B. 当创建一个对象后,this指针就指向该对象 C. 成员函数拥有this指针 D. 静态成员函数拥有this指针

11、下面有关new运算符的描述,错误的是( )。

A. 使用new运算符创建对象时,会调用类的构造函数 B. 使用new运算符创建数组时,必须定义初始值 C. 使用new运算符创建的对象可以使用delete运算符删除 D. new运算符可以用来动态创建对象和对象数组 12、下面关于成员函数的特征中,说法错误的是( )。

A. 成员函数可以重载 B. 成员函数可以是静态的 C. 成员函数一定是内联函数 D. 成员函数可以设置参数的默认值

13、在通常情况下,复制构造函数的参数是( )。

A. 某个对象的引用名 B. 某个对象名

C. 某个对象的成员名 D. 某个对象指针名

14、在类体外定义成员函数时,需要在函数名前加上( )。

A. 类对象 B. 类标记

C. 类名和作用域运算符 D. 域运算符

15、下面关于时间类Time定义的说法中,正确的是( )。

Time time1,time[30]; Time *pTime; Time &time2=time1;

A. time[30]是一个数组,它具有30个元素 B. pTime就是指向Time类对象的指针

C. time2是一个类对象引用,定义时必须对其进行初始化,使之成为对象time1的别名 D. 以上答案都正确 三、判断题

1、任何一个对象只能属于一个具体的类。 2、构造函数可以有参数,但不可以有返回值。

3、一个类可以有多个构造函数,也可以有多个析构函数。

4、对一个类中数据成员的初始化可以通过构造函数中的参数初始化表实现。 5、使用new运算符动态创建对象数组时必须指定初始值。 6、一个类的所有对象都有各自的数据成员,它们共享成员函数。 7、一个类中可以有多个同名的成员函数。

8、类成员的定义可以是数据成员在前,成员函数在后。 9、类的静态成员函数的初始化工作要放在类外进行。 10、类与对象的关系和数据类型与变量的关系相似。 四、分析题 1、

#include class Date {

public: void set(int y, int m, int d);

void print(); private:

int year, month, day; };

void Date::set(int y, int m, int d) {

year = y; month = m; day = d; }

void Date::print() {

cout<

void main() { Date t1; t1.set(2005,3,3);

t1.print(); }

#include class Date {

public:

Date ();

Date (int y, int m, int d); void print(); private:

int year, month, day; };

Date:: Date ():year(2005),month(3),day(15) { }

Date:: Date (int y, int m, int d):year(y),month(m),day(d) { }

void Date::print() {

cout<

void main()

2、

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库习题一(带答案)在线全文阅读。

习题一(带答案).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/405895.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: