首页 > 代码库 > 运算符重载
运算符重载
运算符的重载实际上是函数的重载,在实际过程中,首先把指定的运算表达式转化为对运算符函数的调用,将运算符对象转化为运算符函数的实参,然后根据实参的类型确定需要调用的函数,这个过程在编译的过程中完成。
不能重载的运算符
“.” 类属关系运算符
“.*”成员指针运算符
“::”作用域分辨符
“?:”三目运算符
两种运算符重载方式:
1.重载为类的非静态成员函数
2.重载为非成员函数
区别:运算符的重载形式各有千秋。成员函数的重载方式更加方便,但有时处于以下原因,需要使用非成员函数的重载方式
1.要重载的操作符的第一个操作数不是可以更改的类型
例如:Complex是一个复数类
ostream & operator << (ostream &out, const Complex &c)
{
out << "(c.real << "," << c.img <<")";
return out;//用来支持连续输出
}
2.以非成员函数的形式重载,支持更加灵活的类型转换。
运算符重载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。