运算符重载在C++的类操作中很重要,经常应用于对象与对象之间进行操作,下面是一些运算符重载的例子:
Time operator+(const Time & t) const;
Time Time::operator+(const Time & t) const
{
Time sum;
sum.value = t.value + value;
return sum;
}
Time operator*(double n,const Time &t) ;
Time Time::operator*(double n,const Time &t)
{
return t * n;
}
std::istream & operator>>(std::istream & is,Student & stu)
{
is >> (string &)stu;//给stu里面输入数据
return is;
}
std::istream & getline(std::istream & is,Student & stu)
{
getline(is,(string &)stu);
return is;
}
std::ostream & operator<<(std::ostream & os,const Student & stu)
{
os << (string &)stu;
return os;
}
double & Student::operator[](int i)
{
return ArrayDb::operator[](i);//访问基类方法
}
double Student::operator[](int i) const
{
return ArrayDb::operator[](i);//访问基类方法
}