admin 管理员组文章数量: 1086019
2024年3月21日发(作者:goers是什么意思)
第8章习题解答
一. 选择题
1. 关于类和对象,不正确的说法是()
A. 类是一种数据类型,它封装了数据和函数
B. 类是对某一类对象的抽象
C. 可以基于类这种数据类型定义类的引用
D. 一个类的对象只有一个
【答案】D
【解析】类是一种数据类型,可以基于“类”这种数据类型定义多个称为“对象”的变量。
2. 类定义的外部,可以被访问的类的成员有()
A. public 的类成员
B. public或private的类成员
C. private或protected的类成员
D. public或private 的类成员
【答案】A
【解析】类的成员数据或成员函数的访问属性分为三种情况:private、public和protected,
即私有访问属性、公有访问属性和保护访问属性,类定义的外部只能访问公有访问属性的成
员。
3 关于 this 指针,说法错误的是()
A. this指针必须显式说明
B. 当创建一个对象后,this 指针就指向该对象
C. 成员函数拥有this指针
D. 静态成员函数拥有 this指针
【答案】D
【解析】this指针是一种特殊的指针,它指向成员函数当前操作的数据所属的对象。不同的
对象调用相同的成员函数时,this指针将指向不同的对象,也就可以访问不同对象的成员数
据。而静态成员函数是一个类的所有对象共享的成员,而不仅仅是某一对象的成员。因此,
可以在没有任何对象存在的情况下,可以使用静态成员函数,而使用this指针必须有明确的
对象所指。
4. 调用形式参数为普通对象的函数时,系统会自动调用相应类的()
A. 名字不同于类名的一般成员函数
B. 构造函数
C. 析构函数
D. 拷贝构造函数
【答案】D
【解析】若函数的形参为类的对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造
函数实现拷贝赋值。
5. 定义某类的对象后,再删除该对象,系统会自动调用()
A. 名字不同于类名的一般成员函数
B. 拷贝构造函数
C. 构造函数
D. 析构函数
【答案】D
【解析】当对象生存期结束时,需要调用析构函数,释放对象所占的内存空间。
6. 对于析构函数,不正确的描述是()
A. 系统可以提供默认的析构函数
B. 析构函数不能进行重载
C. 析构函数没有参数
D. 析构函数可以设置默认参数
【答案】D
【解析】析构函数是无参的,析构函数的名字又是唯一的。
7. 关于静态成员,不正确的描述为()
A. 静态成员函数可以访问一般成员数据
B. 静态成员函数可以访问静态成员数据
C. 静态成员函数不可访问一般成员函数
D. 静态成员函数可以访问静态成员函数
【答案】A
【解析】静态成员函数是一个类的所有对象共享的成员,而不仅仅是某一对象的成员。因此,
可以在没有任何对象存在的情况下使用静态成员函数。如果在静态成员函数中访问一般成员
数据,会造成这些一般成员数据没有所属对象的错误。
8. 关于友元,错误的描述是()
A. 关键字 friend 用于声明友元
B. 一个类中的成员函数可以是另一个类的友元
C. 类与类之间的友元关系不具有传递性
D. 类与类之间的友元关系具有对称性
【答案】D
【解析】友元关系不具有对称性和传递性。
9. 下列有关类模板、类和对象的说法中,正确的是()
A. 对象可以由类模板直接定义或生成
B. 类可以定义或生成类模板
C. 对象是类的实例,为对象分配存储空间而不是为类分配存储空间
D. 类是对象的实例,为类分配存储空间而不是为对象分配存储空间
【答案】C
【解析】由类模板可以生成类,由类可以生成对象。定义类时无需分配存储空间,而定义对
象时需要分配存储空间。
10. 下列关于类的可访问性,错误的描述是()
A. 类外的一般函数可以访问该类的公有成员数据
B. 类外的一般函数可以访问该类的公有成员函数
版权声明:本文标题:第8章习题解答 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710973107a582166.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论