C++面向对象程序设计语言重点难点复习题解析
版权申诉
107 浏览量
更新于2024-06-27
收藏 1.28MB PDF 举报
c++面向对象程序设计语言重点难点复习题及答案
本资源是c++面向对象程序设计语言的重点难点复习题及答案,涵盖了数据共享与保护、静态成员、友元等多个方面的知识点。以下是对每个知识点的详细解释:
一、数据共享与保护
1. 存储类中,对象的可见性与生存期不一致的是内部静态类(C)。这是因为内部静态类的对象在定义时就已经被初始化,而不是在程序运行时动态分配的。
2. 在存储类中,不是局部变量的对象是外部静态类(A)。这是因为外部静态类的对象是全局的,可以在任何地方访问。
3. 局部变量的访问控制是在定义该变量的复合语句中的定义处以下的任何语句(C)。这是因为局部变量的作用域是在定义它的块中,而不是整个程序。
二、静态成员
4. 一个类的静态数据成员所表示的属性是类的属性(C)。这是因为静态数据成员是属于类的,而不是对象的。
5. 类的静态成员的访问控制可以是private、protected或public(D)。这是因为静态成员可以被定义为不同的访问权限,以控制访问的权限。
6. 静态成员函数只能访问类的静态数据成员(B)。这是因为静态成员函数不能访问非静态数据成员,因为它们属于不同的作用域。
7. 非静态成员函数可以访问类的静态数据成员或非静态数据成员(A)。这是因为非静态成员函数可以访问类的所有成员变量,而不管它们是静态的还是非静态的。
8. 静态数据成员的初始化是在全局区中进行的(D)。这是因为静态数据成员是属于类的,而不是对象的,所以它们的初始化是在全局区中进行的。
三、友元
9. 友元可以直接访问类的所有成员,包括私有成员(D)。这是因为友元是类的朋友,可以访问类的所有成员变量,而不管它们的访问权限如何。
10. 引入友元的主要目的是为了提高程序的效率和灵活性(C)。这是因为友元可以让不同的类之间建立关系,提高程序的灵活性和可维护性。
11. 一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明需要加上类域的限定(A)。这是因为友元函数需要指定所属的类,以便访问类的成员变量。
四、判断题
1. 类的静态数据成员需要在定义每个类的对象时进行初始化,答案是错误的(F)。这是因为静态数据成员是属于类的,而不是对象的,所以它们的初始化是在全局区中进行的,而不是在定义每个类的对象时。
2. 当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员,答案是正确的(T)。
3. 静态数据成员必须在类外定义和初始化,答案是正确的(T)。这是因为静态数据成员是属于类的,而不是对象的,所以它们的定义和初始化是在类外进行的。
2022-11-11 上传
2021-10-10 上传
2021-04-02 上传
2010-03-07 上传
2011-10-31 上传
2019-06-04 上传
xxpr_ybgg
- 粉丝: 6758
- 资源: 3万+
最新资源
- 常用的css标记,只供大家学习和参考
- 与WEKA想对应的一本参考书-Data mining
- 领域驱动设计精简版 (中文版)
- DWR 入门学习文档(中文)
- C#3.0 设计模式(en)
- spring 开发指南(中文)
- JavaServer Faces in Action
- QT4中文手册不错的资料
- struts2从入门到精通中文学习资料!
- sql 入门到精通中文学习资料
- 页面置换算法(FIFO,LRU,最佳和Clock四种算法)
- scala编程是一种很有品味的类型语言:它是静态类型的,但仅需在必要的地方显式定义类型
- uIP原版英文用户手册
- jfreechart developer guide
- LTE及其关键技术介绍.pdf
- 介绍HTTP协议的RFC 学习HTTP的必备资料