C++重载与模板:自定义类型的加法运算
让我们以一个简单的问题开始,如何对两个自定义类型进行加法运算?对于内置的数据类型,例如 int、float、double 等等,我们可以直接使用加号操作符将它们进行相加。但是,对于自定义类型,我们需要一种方式来定义这个加法运算。这就是 C++ 中函数和运算符重载的作用之一。
在 C++ 语言中,我们可以通过重载运算符来重新定义它们的行为。例如,我们可以使用 operator+() 运算符来重新定义加法运算。下面是一个示例代码:
class MyInt {
public:
int value;
MyInt(int value = 0) : value(value) {}
MyInt operator+(const MyInt& other) const {
return MyInt(value + other.value);
}
};
int main() {
MyInt a(5);
MyInt b(3);
MyInt c = a + b;
std::cout << c.value << std::endl; // 输出 8
return 0;
}
在上面的代码中,我们定义了一个名为 MyInt