一、引言
在C++中,类是面向对象编程(OOP)的核心构造之一。类提供了一种封装数据(称为成员变量或属性)和操作数据的方法(称为成员函数或方法)的方式。通过类,我们可以创建具有相似属性和行为的对象,使得代码更加模块化和可重用。本文将介绍C++中类的定义、成员变量、成员函数以及类的实例化和使用。
二、类的定义
在C++中,类的定义使用class关键字。类定义通常包含两部分:成员变量(数据成员)和成员函数(方法)。
下面是一个简单的类定义示例,该类表示一个矩形:
cpp
|
#include <iostream> |
|
|
|
class Rectangle { |
|
public: // 访问修饰符,用于指定成员的访问权限 |
|
// 成员变量(数据成员) |
|
double width; |
|
double height; |
|
|
|
// 成员函数(方法) |
|
Rectangle(double w, double h) : width(w), height(h) {} // 构造函数 |
|
double area() const { return width * height; } // 计算面积的方法 |
|
void setWidth(double w) { width = w; } // 设置宽度的方法 |
|
void setHeight(double h) { height = h; } // 设置高度的方法 |
|
// ... 其他成员函数 ... |
|
}; |
在上面的示例中,Rectangle类有两个成员变量:width和height,分别表示矩形的宽和高。它还包含四个成员函数:一个构造函数用于初始化矩形的宽和高,一个area方法用于计算矩形的面积,以及两个设置器方法setWidth和setHeight用于修改矩形的宽和高。
三、类的访问修饰符
在类定义中,可以使用访问修饰符来指定成员的访问权限。C++支持三种访问修饰符:public、protected和private。默认情况下,如果不指定访问修饰符,成员将被视为private。
· public:成员可以从类的外部访问。
· protected:成员可以从类的外部访问(仅限于派生类),也可以从类的内部访问。
· private:成员只能从类的内部访问。
在上面的示例中,所有成员都被声明为public,这意味着它们可以从类的外部直接访问。但在实际编程中,通常会将数据成员声明为private,并通过公共的成员函数(如设置器和获取器)来访问它们,以实现数据的封装和隐藏。
四、类的实例化与使用
要使用类,需要创建类的对象(实例)。在C++中,使用类名和一对圆括号(可以包含参数以调用构造函数)来创建对象。
下面是一个使用Rectangle类的示例:
cpp
|
int main() { |
|
// 创建Rectangle对象并初始化 |
|
Rectangle rect(5.0, 10.0); |
|
|
|
// 访问和修改对象的成员变量(如果它们是public的) |
|
// 但通常我们会通过成员函数来访问和修改数据成员 |
|
std::cout << "Width: " << rect.width << ", Height: " << rect.height << std::endl; |
|
|
|
// 使用成员函数 |
|
std::cout << "Area: " << rect.area() << std::endl; |
|
rect.setWidth(6.0); |
|
std::cout << "New Area: " << rect.area() << std::endl; |
|
|
|
return 0; |
|
} |
请注意,尽管在上面的示例中我们直接访问了width和height成员变量,但在实际编程中,我们通常会将它们声明为private,并通过公共的获取器和设置器方法来访问和修改它们。
五、总结
本文介绍了C++中类的定义、成员变量、成员函数以及类的实例化和使用。通过类,我们可以创建具有相似属性和行为的对象,使代码更加模块化和可重用。在定义类时,要注意使用适当的访问修饰符来指定成员的访问权限,以实现数据的封装和隐藏。在使用类时,需要创建类的对象(实例),并通过对象的成员函数来访问和修改其数据成员。