gpt4 book ai didi

c++ - 为什么要重载以前未定义的运算符?

转载 作者:行者123 更新时间:2023-11-30 02:25:42 24 4
gpt4 key购买 nike

在下面的示例中,加法运算符已被重载:

class CVector {
public:
int x,y;
CVector operator + (const CVector&);
};

但是当加法运算符之前甚至没有在此类中声明或定义时,您会说加法运算符对于类型 CVector 是重载的吗?

谢谢!

最佳答案

cppreference将运算符重载简要定义为

operator overloading: Customizes the C++ operators for operands of user-defined types. Overloaded operators are functions with special function names.

所以 operator + 实际上是一个具有预定义名称 operator+ 的函数,它已经被用于多种类型。当您现在为您的用户定义类型 CVector 提供 operator+ 的自定义实现时,这将被视为重载,因为您定义了一个不同的单个参数的给定函数名称的实现。

关于c++ - 为什么要重载以前未定义的运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43898739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com