C++重载操作符总结

来源:互联网 发布:java源代码分享 编辑:程序博客网 时间:2024/05/17 02:36

作用:重载操作符可将操作符用于类对象。
重载操作符是一种特殊类型的函数,它也需要有返回类型和行参表。格式为:返回类型 operator操作符(行参)。重载操作符必须具有至少一个类类型或枚举类型操作数,如果是内置类型(例如int,double等),操作符含义不能改变。
重载操作符有两种:成员函数重载以及非成员函数重载
1. 作为类成员的重载操作符
其行参看起来比操作数目少1(显式行参少1)。作为成员函数的操作符有一个隐含的this行参,限定为第一个操作数。即指向左操作数的指针绑定this,右操作数为函数的唯一行参。
2. 作为非成员函数的重载操作符
通常将该重载操作符定义为操作类的友元。输入与输出操作符重载一定为非成员函数,因为若定义为成员函数,左操作符一定是类成员,而输入输出操作符左操作符为ostream类对象,ostream类是标准库的一部分,不能为标准库类增加成员。因而IO重载一定设置为友元。
注意:相比于输出操作符重载,输入操作符重载需要考虑输入错误的情况,若输入发生错误,则将对象复位,置为空对象的状态。

0 0
原创粉丝点击