C++系列十:日常学习-操作符重载
介绍:
在 C++ 中,操作符重载(Operator Overloading)是一种允许我们自定义或改变某些操作符的行为的技术。
案例:
单个参数的简单例子:
#include <iostream>
class MyNumber {
private:
double value;
public:
MyNumber(double v) : value(v) {}
// Overload + operator
MyNumber operator+(const MyNumber& other) const {
return MyNumber(value + other.value);
}
// Overload - operator
MyNumber operator-(const MyNumber& other) const {
return MyNumber(value - other.value);
}
// Overload * operator
MyNumber operator*(const MyNumber& other) const {
return MyNumber(value * other.value);
}
// Overload / operator
MyNumber operator/(const MyNumber& other) const {
if(other.value != 0.0) {
return MyNumber(value / other.value);
} else {
std::cout << "Error: Division by zero." << std::endl;
return MyNumber(0.0);
}
}
// Overload += operator
MyNumber& operator+=(const MyNumber& other) {
value += other.value;
return *this;
void printValue() const {
std::cout << value << std::endl;
}
};
int main() {
MyNumber a(11.0);
MyNumber b(2.0);
MyNumber c = a + b;
c.printValue(); // Output: 13.0
MyNumber d = a - b;
d.printValue(); // Output: 9.0
MyNumber e = a * b;
e.printValue(); // Output: 22.0
MyNumber f = a / b;
f.printValue(); // Output: 5.5
a += b; // a = a + b;
c.printValue(); // Output: 23.0
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)