C++ 谭浩强 总复习试卷2.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
在C++编程语言中,有一些核心概念涉及到类的设计和成员函数的使用,这些知识点在谭浩强的C++复习试卷中被重点考察。以下是根据题目内容解析的关键知识点: 1. **静态数据成员**:静态数据成员是属于类的,而不是属于类的任何特定实例。它们可以通过类名直接访问,如`ClassName::staticDataMember`。静态数据成员的初始化必须在类外进行,并使用作用域运算符`::`。 2. **友元函数**:友元函数不是类的成员函数,它可以访问类的私有和保护成员,增强了代码的灵活性,但破坏了封装性。友元关系的声明是在类定义内部,例如`friend void F();`。 3. **非静态成员函数**:非静态成员函数在对象上下文中执行,可以访问类的所有成员,包括私有和保护成员,因为它们有隐含的`this`指针。但在静态成员函数中,没有`this`指针,因此不能直接访问非静态成员。 4. **运算符重载**:C++允许重载运算符,使其能作用于类的对象。重载的运算符函数可以是类的成员函数,也可以是全局函数。不能重载的运算符包括`.`、`->`、`::`、`sizeof`、`? :`等。后置运算符重载通常需要一个额外的参数来区分前置和后置操作。 5. **友元类**:如果一个类是另一个类的友元,那么友元类的所有成员函数都可以访问原类的私有和保护成员。但是,友元关系是非传递性的,即Y是X的友元,Z是Y的友元,并不意味着Z也是X的友元。 6. **静态成员函数**:静态成员函数不能直接访问非静态成员,因为它们不与任何特定对象关联。要访问非静态成员,必须通过一个对象实例来间接访问。 7. **成员函数的形式**:成员函数可以是虚函数、非虚函数、常量成员函数、静态成员函数等。静态成员函数没有`this`指针,而虚函数用于多态性。 8. **友元关系的特点**:友元关系是单向的,不是继承关系,也不是成员函数的关系,它使得友元能够访问类的私有和保护成员,增加了程序设计的灵活性。 在选择题部分,正确答案分别为: - C. 友元函数破坏了类的封装性和隐藏性 - D. 所有成员 - D. 静态数据成员可以直接用类名调用 - C. 静态数据成员不能受 protected 控制符的作用 - D. 友元函数通过 this 指针访问对象成员 - A. ?: - D. 在运算符函数中不能使用缺省的参数值 - D. friend A operator+ ( A & , A &); - B. 1 - A. 可以传递 判断题部分,正确的是: - 1. 对 - 2. 错,静态数据成员必须在类外初始化。 - 3. 错,静态成员函数没有`this`指针,不能直接访问非静态成员。 - 4. 错,静态成员函数的初始化工作要放在类外部进行。 理解这些概念对于深入学习C++和编写面向对象的代码至关重要。它们帮助我们更好地设计类,控制数据的访问,以及实现复杂的操作符行为。在实际编程中,合理使用这些特性可以提高代码的可读性和效率。
剩余19页未读,继续阅读
- 粉丝: 6874
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助