介绍
在本实验中,你将学习如何在 C++ 编程语言中演示 +
运算符重载的概念。运算符重载是 C++ 中的一项特性,它允许单个运算符或符号在不同的上下文中具有不同的含义。在本实验中,我们将展示如何使用 +
运算符来相加两个长方体(Cuboid)对象。
在本实验中,你将学习如何在 C++ 编程语言中演示 +
运算符重载的概念。运算符重载是 C++ 中的一项特性,它允许单个运算符或符号在不同的上下文中具有不同的含义。在本实验中,我们将展示如何使用 +
运算符来相加两个长方体(Cuboid)对象。
在 ~/project
目录下创建一个名为 main.cpp
的 C++ 文件。
cd ~/project
touch main.cpp
+
运算符重载将以下代码添加到 main.cpp
中,创建一个名为 Cuboid
的类,用于表示三维长方体:
#include <iostream>
using namespace std;
// 定义 Cuboid 类以演示 C++ 中加号运算符重载的概念
class Cuboid {
// 将类的成员变量声明为 public,以便从类外部访问
public:
double length; // 长方体的长度
double breadth; // 长方体的宽度
double height; // 长方体的高度
public:
double getVolume(void) {
return length * breadth * height;
}
void setLength(double l) {
length = l;
}
void setBreadth(double b) {
breadth = b;
}
void setHeight(double h) {
height = h;
}
// 重载 + 运算符以实现两个 Cuboid 对象的相加
Cuboid operator + (const Cuboid & c) {
Cuboid cuboid;
cuboid.length = this -> length + c.length;
cuboid.breadth = this -> breadth + c.breadth;
cuboid.height = this -> height + c.height;
return cuboid;
}
};
main
函数将以下代码添加到 main.cpp
中,实现 main
函数。该函数创建三个 Cuboid
对象,设置它们的尺寸,计算它们的体积,将其中两个对象相加,并打印结果长方体对象的尺寸和体积:
// 定义 main 方法以访问类的成员
int main() {
cout << "\n\nWelcome to LabEx :-)\n\n\n";
cout << " ===== 演示 C++ 中加号运算符重载的程序 ===== \n\n";
// 声明类对象以访问类的成员
Cuboid c1;
Cuboid c2;
Cuboid c3;
// 用于存储长方体的体积
double volume = 0.0;
// 设置第一个长方体对象 c1 的长度、宽度和高度
c1.setLength(3.0);
c1.setBreadth(4.0);
c1.setHeight(5.0);
// 设置第二个长方体对象 c2 的长度、宽度和高度
c2.setLength(2.0);
c2.setBreadth(5.0);
c2.setHeight(8.0);
// 计算第一个长方体 c1 的体积
cout << "调用 getVolume() 方法以计算长方体 c1 的体积\n";
volume = c1.getVolume();
cout << "长方体 c1 的体积是 : " << volume << "\n\n\n";
// 计算第二个长方体 c2 的体积
cout << "调用 getVolume() 方法以计算长方体 c2 的体积\n";
volume = c2.getVolume();
cout << "长方体 c2 的体积是 : " << volume << "\n\n\n";
// 将两个长方体对象 c1 和 c2 相加,形成第三个对象 c3
c3 = c1 + c2;
// 打印第三个长方体 c3 的尺寸
cout << "长方体 c3 的长度是 : " << c3.length << endl;
cout << "长方体 c3 的宽度是 : " << c3.breadth << endl;
cout << "长方体 c3 的高度是 : " << c3.height << endl;
// 计算第三个长方体 c3 的体积
cout << "\n\n调用 getVolume() 方法以计算长方体 c3 的体积\n";
volume = c3.getVolume();
cout << "长方体 c3 的体积是 : " << volume << endl;
cout << "\n\n\n";
return 0;
}
使用以下命令编译并运行代码:
g++ main.cpp -o main && ./main
你将看到以下输出:
Welcome to LabEx :-)
===== 演示 C++ 中加号运算符重载的程序 =====
调用 getVolume() 方法以计算长方体 c1 的体积
长方体 c1 的体积是 : 60
在本实验中,你学习了如何在 C++ 编程语言中演示 +
运算符重载的概念。运算符重载是 C++ 中一项强大且实用的特性,它允许你在不同的上下文中使用具有不同含义的运算符。通过重载 +
运算符,你可以将两个长方体(Cuboid)对象相加。