C++ 类与对象
引言
在C++编程语言中,类与对象是核心概念之一。类是一种用户自定义的数据类型,它包含了数据和操作这些数据的函数。对象是类的实例,即根据类创建的具体实体。本文将详细介绍C++中的类与对象,包括类的定义、对象的创建、成员函数的使用以及类与对象的高级特性。
类的定义
在C++中,使用class关键字定义一个类。类由成员变量和成员函数组成。以下是一个简单的类定义示例:
class Rectangle {
public:
int width;
int height;
void setWidth(int w) {
width = w;
}
void setHeight(int h) {
height = h;
}
int getArea() {
return width * height;
}
};
在上面的示例中,我们定义了一个名为Rectangle的类,它有两个成员变量width和height,以及三个成员函数setWidth、setHeight和getArea。
对象的创建
对象是根据类创建的实例。在C++中,使用new关键字创建对象。以下是如何创建Rectangle类的对象:
Rectangle rect1;
上述代码创建了一个名为rect1的Rectangle对象。
成员函数的使用
成员函数是类的一部分,用于操作类的成员变量。在上面的Rectangle类中,setWidth和setHeight是用于设置成员变量width和height的成员函数,而getArea是用于计算矩形面积的成员函数。以下是如何使用这些成员函数:
rect1.setWidth(10);
rect1.setHeight(20);
int area = rect1.getArea();
上述代码首先设置了rect1对象的宽度和高度,然后使用getArea函数计算面积。
类与对象的高级特性
构造函数和析构函数
构造函数是用于初始化新创建的对象的成员函数。析构函数是用于释放对象占用的资源的成员函数。以下是一个包含构造函数和析构函数的类示例:
class Rectangle {
public:
int width;
int height;
Rectangle(int w, int h) {
width = w;
height = h;
}
~Rectangle() {
// 释放资源
}
// ...
};
在上面的示例中,构造函数Rectangle(int w, int h)用于初始化width和height成员变量,而析构函数~Rectangle()用于释放资源。
继承
继承是C++中的一个重要特性,允许创建新的类(子类)基于现有类(父类)。以下是一个简单的继承示例:
class Square : public Rectangle {
public:
Square(int side) : Rectangle(side, side) {
// 初始化
}
// ...
};
在上面的示例中,Square类继承自Rectangle类,并使用构造函数初始化width和height成员变量。
多态
多态是C++中的另一个重要特性,允许使用基类指针或引用调用子类中的函数。以下是一个多态示例:
class Rectangle {
public:
virtual void draw() {
// 绘制矩形
}
};
class Square : public Rectangle {
public:
void draw() override {
// 绘制正方形
}
};
int main() {
Rectangle* rect = new Square(10);
rect->draw();
delete rect;
return 0;
}
在上面的示例中,draw函数在Rectangle类中声明为虚函数,在Square类中重写。在main函数中,我们使用基类指针rect调用draw函数,但由于多态,实际上调用的是Square类中的draw函数。
总结
本文介绍了C++中的类与对象,包括类的定义、对象的创建、成员函数的使用以及类与对象的高级特性。掌握这些概念对于C++编程至关重要,有助于提高代码的可重用性和可维护性。
1987

被折叠的 条评论
为什么被折叠?



