C++ - 运算符重载_->没有重载 c++(2)

//运算符重载"+“解析函数
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.运算符&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值