C++ 类和对象

在 C++ 中,对象和类用于将相关的函数和数据封装在一个地方。

假设我们需要存储一个矩形房间的长、宽、高,并计算其面积和体积。

为了处理这个任务,我们可以创建三个变量,例如 length、breadth 和 height,以及函数 calculate_area()calculate_volume()

然而,在 C++ 中,我们不必创建独立的变量和函数,而是可以将相关的数据和函数封装在一个地方(通过创建**对象**)。

这种编程范式被称为面向对象编程

但是,在 C++ 中创建**对象**并使用它们之前,我们首先需要了解**类**。


C++ 类

类是对象的蓝图。

我们可以将类看作是房屋的草图(原型)。

它包含了关于地板、门、窗户等的所有细节——我们根据这些描述来建造房屋。

房屋就是对象。


创建类

类在 C++ 中使用 关键字 class 后跟类名来定义。

类的体在花括号内定义,并在末尾以分号结束。

class ClassName {
   // some data
   // some functions
};

例如,

class Room {
    public:
        double length;
        double breadth;
        double height;   

        double calculate_area(){   
            return length * breadth;
        }

        double calculate_volume(){   
            return length * breadth * height;
        }

};

在这里,我们定义了一个名为 Room 的类。

在类内声明的 lengthbreadthheight 变量称为**数据成员**。

而函数 calculate_area()calculate_volume () 称为类的**成员函数**。


C++ 对象

当定义了一个类后,只定义了对象的规格;没有分配内存或存储空间。

要使用类中定义的数据并访问函数,我们需要创建对象。


C++ 中定义对象的语法

ClassName object_name;

我们可以按如下方式创建 Room 类(在上面的示例中定义)的对象:

// sample function
void sample_function() {
    // create objects
    Room room1, room2;
}

int main(){
    // create objects 
    Room room3, room4;
}

在这里,在 sample_function() 中创建了 Room 类的两个对象 room1room2

类似地,在 main() 中创建了对象 room3room4

正如我们所见,我们可以在程序的任何函数中创建类的对象。

我们也可以在类本身内部或在其他类中创建类的对象。

此外,我们可以从一个类创建任意数量的对象。


C++ 访问数据成员和成员函数

我们可以使用 . (点) 运算符来访问类的 数据成员和成员函数。

例如,

room2.calculate_area();

这将调用 Room 类中对象 room2calculate_area() 函数。

类似地,数据成员可以这样访问:

room1.length = 5.5;

在这种情况下,它将 room1length 变量初始化为 5.5


示例:C++ 编程中的对象和类

// Program to illustrate the working of
// objects and class in C++ Programming

#include <iostream>
using namespace std;

// create a class
class Room {

   public:
    double length;
    double breadth;
    double height;

    double calculate_area() {
        return length * breadth;
    }

    double calculate_volume() {
        return length * breadth * height;
    }
};

int main() {

    // create object of Room class
    Room room1;

    // assign values to data members
    room1.length = 42.5;
    room1.breadth = 30.8;
    room1.height = 19.2;

    // calculate and display the area and volume of the room
    cout << "Area of Room =  " << room1.calculate_area() << endl;
    cout << "Volume of Room =  " << room1.calculate_volume() << endl;

    return 0;
}

输出

Area of Room =  1309
Volume of Room =  25132.8

在这个程序中,我们使用了 Room 类及其对象 room1 来计算房间的面积和体积。

main() 中,我们使用以下代码为 lengthbreadthheight 变量赋值:

room1.length = 42.5;
room1.breadth = 30.8;
room1.height = 19.2;

然后,我们调用 calculate_area()calculate_volume() 函数来执行必要的计算。

请注意程序中 public 关键字的使用。这意味着这些成员是公共的,可以在程序中的任何地方访问。

要了解更多关于 public 和其他访问说明符的信息,请访问我们的 C++ 类访问说明符教程。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战