问题解答之c++运算符重载

文章介绍了如何在C++中通过运算符重载为自定义类Point定义加法和输出行为,展示了如何使用+运算符实现对象加法及友元函数实现输出格式化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

示例代码

代码解析

运行结果

———————————————————————————————————————————

C++运算符重载是一种特殊的语法,允许我们为内置运算符或自定义类型的对象定义新的行为。通过运算符重载,我们可以使用相同的运算符对不同类型的对象进行不同的操作。

示例代码

以下是一个关于C++运算符重载的示例代码:

#include <iostream>
 
// 自定义类
class Point {
public:
    int x;
    int y;
    
    Point(int x = 0, int y = 0): x(x), y(y) {}
 
    // 运算符重载:+
    Point operator+(const Point& other) {
        Point result;
        result.x = this->x + other.x;
        result.y = this->y + other.y;
        return result;
    }
 
    // 运算符重载:<<
    friend std::ostream& operator<<(std::ostream& os, const Point& point) {
        os << "(" << point.x << ", " << point.y << ")";
        return os;
    }
};
 
int main() {
    Point p1(1, 2);
    Point p2(3, 4);
 
    Point sum = p1 + p2;
    std::cout << "Sum: " << sum << std::endl;
 
    return 0;
}

代码解析

在上面的代码中,我们定义了一个自定义类Point,并重载了+运算符和<<运算符。重载+运算符允许我们对Point对象执行加法运算,而重载<<运算符则用于自定义对象的输出。在main函数中,我们创建了两个点p1p2,然后使用+运算符将它们相加,最后使用重载的<<运算符输出结果。

运行结果

运行以上代码的输出结果为:

Sum: (4, 6)

这就是C++中运算符重载的基本使用方法。当然,在实际应用中,我们可以根据需要重载其他的运算符,以实现更复杂的操作。

dingding提问解答

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值