【C++面向对象备忘录】3 运算符重载

2018-02-27  本文已影响0人  shawn233

赋值运算符

赋值运算符只能重载成成员函数
函数原型:

X & X::operator=(const X &source)
{
if (this == &source)
    return * this; //如果是自我复制,直接返回本身
// 赋值过程
}

下标运算符

函数调用运算符

函数的返回值 operator() (形式参数表);

++、--的重载

    ++ob重载为:ob.operator++()
    ob--重载为:ob.operator--(int)
    ++ob重载为:operator++(X &ob)
    ob--重载为:operator--(X &ob, int)

输入输出运算符重载

输出运算符(<<)重载原型

ostream & operator<<(ostream &  os, const ClassType &obj)
{ os << 要输出的内容;
  //只进行最小限度格式化,由用户控制输出细节,不应输出换行符
  return os;
} 

输入运算符重载的原型

istream & operator>>(istream & is,  ClassType &obj)
{ is >> 要输入的内容;
  return is;
} 
上一篇 下一篇

猜你喜欢

热点阅读