C++ 重载

"operator=="是一个函数

为什么可以写成return Point(x + other,y+other.y)的形式,其实第一个参数对应point的第一个变量,第二个参数对应第二个变量。

还可以写成下面的形式:

cpp 复制代码
const{    
    Point ret;
    ret.x = x + other.x
    ret.y = y + other.y
    return ret;
}

实际上隐含了

cpp 复制代码
class Point{
public:
    int x,y;
    Point(int x1 , int y1){
        x = x1;
        y = y1;
    }//隐藏,默认的构造函数
    Point operator+(const Point& other) const{
        return Point(x + other.x , y + other.y);//创建了一个对象并赋值
    }
}

返回的Point和平时返回的int是一样的,并不是指针,只是一个值

相关推荐
@Turbo@4 分钟前
【QT】在QT6中读取文件的方法
开发语言·数据库·qt
_extraordinary_16 分钟前
Java 异常
java·开发语言
moz与京18 分钟前
【数据结构】字符串操作整理(C++)
开发语言·数据结构·c++
招财进宝。。20 分钟前
c# 获取电脑 分辨率 及 DPI 设置
开发语言·c#·电脑
无处不在的海贼23 分钟前
小明的Java面试奇遇之:支付平台高并发交易系统设计与优化[特殊字符]
java·开发语言·面试
居居飒28 分钟前
深入理解 JDK、JRE 和 JVM 的区别
java·开发语言·jvm
几道之旅35 分钟前
python-pptx去除形状默认的阴影
开发语言·javascript·python
156082072191 小时前
在QT环境下部署FFT库
开发语言·qt
漫步者TZ2 小时前
【Netty系列】Reactor 模式 1
java·开发语言·github
linff9112 小时前
Reactor和Proactor
c++·网络编程’