//运算符重载"+“解析函数
coordinate coordinate::operator+ (const coordinate other)
{
//在该函数内,去实现”+"的真正应该做的操作
coordinate tmp;
tmp.x = this->x + other.x;
tmp.y = this->y + other.y;
return tmp;
}
int main()
{
coordinate a(1,3);
coordinate b(2,5);
coordinate c;
c = a+b; //被编译器翻译成: c = a.operator+(b);
c.print(); // 成功打印 (3,8)
return 0;
}
**3.运算符重载的本质**
-> 表面上,运算符重载是对C++源生运算符的意义,在某个class中做**重定义。**
-> 本质上,运算符被映射到执行相应的成员函数,所以运算符重载其实是重定义对象的运算符所对应的函数。
**4.运算符重载的意义**
-> 运算符重载是一种语法特性,C++全面支持,Java不支持,python有限度的支持。
-> 没有运算符重载照样写代码,所有操作全部通过显式调用相应成员函数来完成即可。
-> 运算符重载一定程度上体现了C++的多态性,因为同样的运算符在不同的class中表现是不同的。
**5.运算符&#

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



