C++运算符重载/总结

运算符重载的实质

运算符重载其实是特殊形式的函数重载。在C++编译系统中,运算符的功能都是通过调用相应的函数实现的。这类函数被称为运算符函数,由关键字operator和对应的运算符组成函数名。运算符的操作数即为函数的形参。例如,两个int型数据相加,5+2;在编译时解释为operator+(5,2);。因此运算符重载,实质上就是运算函数函数的重载。值得注意的是,C++中不允许对”.”,”::”,”*”,”?:”四种运算符进行重载。前三种运算符重载容易出现不必要的麻烦,而条件运算符则不值得重载。
此外,=、()、[ ] 、-> 四种运算符只能用类运算符来重载。

典型运算符重载举例

插入符<<重载
插入符函数:
ostream &operator <<(ostream &output,类名 & 对象名)
{...//函数代码
return output;}

操作数说明: output是ostream类的对象的引用,即cout的别名
提取符重载同理,
istream &operator >>(istream&input,类名 &对象名)
{ ...//函数代码
return input;}

为了区别 前缀运算符和后缀运算符++,- -,规定后缀运算符有一个int形参,不用给出参数名,仅仅作为区别标记。

猜你喜欢

转载自blog.csdn.net/black_kyatu/article/details/79327858
今日推荐