第五章 类与对象习题
一.基本概念与基础知识自测题
5.1 填空题
5.1.1 引入类定义的关键字是 (1) 。类的成员函数通常指定为 (2) ,类的数据成员通常指定为 (3) 。指定为 (4) 的类成员可以在类对象所在域中的任何位置访问它们。通常用类的 (5) 成员表示类的属性,用类的 (6) 成员表示类的操作。
答案:
(1)class
(2)公有的public
(3)私有的private
(4)公有的public
(5)数据
(6)函数
5.1.2 类的访问限定符包括 (1) 、 (2) 和 (3) 文明之星推荐词。私有数据通常由(4) 函数来访问(读和写)。这些函数统称为 (5) 。
答案:
(1)public(公有的)
(2)private(私有的)
(3)我们一起走过的日子protected(保护的)
(4)公有的成员函数
(5)类的接口
5.1.3 通常在逻辑上,同一类的每个对象都有 (1) 代码区,用以存储成员函数。而在
物理上通常只有 (2) 代码区。只有在 (3) 定义,并 (4) 的函数和加了关键字 (5) 的函数例外。
答案:
(1)独立的
(2)共用的
(3)在类说明中
(4)不包括循环等复杂结构
(5)inline
5.1.4 C++中支持三种域: (1) 、 (2) 、 (3) 。函数域被包括在 (4) 中,全局域被包括在 (5) 中。using指示符以关键字using开头,后面是关键字 (6) ,最后是 (7) 。这样表示以后在该名字空间中所有成员都 (8) 。如不使用using指示符则在使用时要加::,称为 (9) 运算符。
答案:
(1)局部域(local scope)
(2)名字空间域(namespace scope)
(3)类域(class scope)
(4)局部域
大绿洲
(5)名字空间域都市黑道小说
(6)namespace
(7)名字空间名
(8)可以直接被使用
(9)域
5.1.5 引用通常用作函数的 (1) 和 (2) 。对数组只能引用 (3)不能引用 (4) 。
答案:
(1)参数
(2)返回值
(3)数组元素
(4)数组名本身
5.1.6 构造函数的任务是 (1) 和 (2) 。构造函数无 (3) ,但并不表示 (4) 。类中可以有 (5) 个构造函数,它们由 (6) 区分。如果类说明中没有给出构造函数,则C++编译器会 (7) 黑大应用门户。拷贝构造函数的参数是 (8) ,当程序没有给出拷贝构造函数时,系统会自动提供 (9) 支持,这样的拷贝构造函数中每个类成员 (10) 。
答案:
(1)建立对象(为对象分配内存)
(2)初始化数据成员
(3)函数返回类型说明
(4)没有返回值,返回的是构造函数所创建的对象
(5)多
(6)不同的参数表
(7)自动给出一个缺省的构造函数
(8)同一类对象的引用紫百合
(9)好看的电视剧大全缺省的拷贝构造函,称为缺省的按成员语义支持。
(10)被依次拷贝
5.1.7 一个类有 (1) 个析构函数。 (2) 时,系统会自动调用析构函数。
答案:
(1)一
(2)对象注销时
5.1.8 运算符重载时,其函数名由 (1) 构成。成员函数重载双目运算符时,左操作数是 (2) ,右操作数是 (3) 。
答案:
(1)关键字operator和该运算符
(2)对象
(3)该函数的参数
5.2简答题(以下习题题号可能和教材不一致!)
5.2.1为什么返回值为引用的函数可以作为左值?
答:函数返回引用实际是指明(返回)了相应的关联变量,所以声明返回值为引用的函数
实际上是将关联变量作为左值参与运算。
5.2.2乌鲁木齐海拔什么是缺省的构造函数?缺省的构造函数最多可以有多少个?
答:如果在类定义中不显式地定义构造函数,C++编译器会自动产生一个缺省的构造函数,不过该函数不做具体的初始化工作。只要构造函数是无参的或者只要各参数均有缺省值的,C++编译器都认为是缺省的构造函数。缺省的构造函数只能有一个。
5.2.3拷贝构造函数用于哪三个方面?
答:
(1)用类的一个对象去初始化该类的另一个对象时使用。
(2)当函数的形参是类的对象,调用函数时,进行形参与实参结合时使用。