在《C++ Primer Plus professional》的第6章中,深入探讨了类与对象的相关概念,这是面向对象编程的核心组成部分。本节首先介绍了类和对象的基本概念,强调了封装、多态和继承这三个面向对象程序设计的重要特性:
1. 封装(Encapsulation):封装性是类的关键特性,它将数据(数据成员)和处理这些数据的方法(成员函数)捆绑在一起,通过访问权限控制(如private、public和protected)确保数据的安全性,防止外部直接访问,提高代码的可维护性和安全性。
2. 多态(Polymorphism):多态允许通过统一的接口访问具有不同实现的操作,基于继承的多态性使得子类能够重写基类的方法,提供了灵活性和代码复用。
3. 继承(Inheritance):通过继承,子类可以从父类那里获取成员,包括数据和行为。这促进了代码结构的层次化和模块化。
在定义类的过程中,作者详细解释了类的声明,包括数据成员(私有、公有和保护)、成员函数以及它们各自的访问权限。例如,定义一个名为Circle的类可能如下所示:
```cpp
class Circle {
private:
int radius; // 私有数据成员
double circumference() { ... } // 私有成员函数
public:
int diameter() const; // 公有数据成员和成员函数
void setRadius(int r); // 公有成员函数
static int getMaxRadius(); // 静态成员函数
protected:
double area() { ... } // 保护成员函数
};
```
定义对象时,如创建一个Circle类的对象`objCircle`:
```cpp
Circle objCircle;
```
类在编译阶段不会立即占用内存,只有当实例化对象(如`objCircle`)时,系统才会为其分配内存。类提供了一个抽象的蓝图,而对象则是这个蓝图的具体实例,实际占据内存空间。
接下来的内容涉及如何在函数中使用对象,如进行一位数的四则运算,以及使用`this`指针来引用当前对象,以及友元(Friend Functions/Classes)的概念,它们允许非成员函数或类访问私有成员。这部分内容展示了如何在实际编程中运用类和对象的特性,实现了更高效和灵活的代码组织。《C++ Primer Plus professional》的这一章节为初学者提供了扎实的面向对象编程基础,有助于理解和掌握C++中对象数组、指针以及类的全面使用。