#include <iostream>
class Vector2 {
public:
float x, y;
public:
Vector2(float x, float y): x(x), y(y) {}
Vector2 Add(const Vector2& other) {
//return *this + other;
return operator+(other);
}
Vector2 operator+(const Vector2& other) {
return Vector2(x + other.x, y + other.y);
}
bool operator==(const Vector2& other) {
return x == other.x && y == other.y;
}
bool operator!=(const Vector2& other) {
//return !operator==(other);
return !(*this == other);
}
};
//类似Java的toString
//重载 <<
std::ostream& operator<<(std::ostream& stream, const Vector2& other) {
stream << other.x << " | " << other.y;
return stream;
}
void testOperator() {
Vector2 a(10.0f, 20.0f);
Vector2 b(15.0f, 25.0f);
Vector2 c = a + b;
std::cout << c << std::endl;
}
int main() {
testOperator();
std::cin.get();
}
C++学习笔记 13 操作符
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 1. 操作符重载的意义 对于C++内置的数据类型,可以简单明了地使用操作符对数据进行处理,如: 而对于用户自定义的...
- 今天看文章的时候发现一个看起来好厉害的东西:flatten = lambda x: [y for l in x f...
- 首发于公众号: DSGtalk1989 13.基础操作符run、with、let、also、apply T.run...
- 1.reverse 反转 2.sort 排序,从小到大 3.sortBy 根据某个函数处理后在排序,从小到大 4....