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是一样的,并不是指针,只是一个值

相关推荐
QQ_43766431412 分钟前
C++多态
开发语言·c++
乔宕一16 分钟前
将浮点数转换为分数
c++
蓝胖子不会敲代码1 小时前
跟着AI学习C# Day27
开发语言·学习·c#
动能小子ohhh2 小时前
html实现登录与注册功能案例(不写死且只使用js)
开发语言·前端·javascript·python·html
Xiaouuuuua2 小时前
我开源了一套springboot3快速开发模板
java·开发语言·开源
struggle20253 小时前
DeepForest开源程序是用于 Airborne RGB 机器学习的 Python 软件包
开发语言·python
杜大哥3 小时前
Python:.py文件如何变成双击可执行的windows程序?(版本1)
开发语言·windows·python
学统计的程序员4 小时前
JAVA锁机制:对象锁与类锁
java·开发语言
A.A呐4 小时前
【Linux第四章】gcc、makefile、git、GDB
linux·c语言·开发语言·c++·git
Morpheon4 小时前
使用 R 处理图像
开发语言·计算机视觉·r语言