创建友元的第一步就是将其原型放在类声明中,并在原型前面加上关键字friend

class Time
{
public:
         friend Time operator*(double m, const Time & t);
}

该原型意味着以下两点:

  1. 友元函数虽然是在类中声明的,但是它不是类的成员函数
  2. 友元函数虽然不是类的成员函数,但是它与类成员函数的访问权限相同

由于友元函数不是类成员函数,所以友元函数定义时不用使用Time::限定符。

Time operator*(double m, const Time & t)
{
  ...  
}

 

用友元函数重载cout

std::ostream & operator<<(std::ostream & os, const Time & t)
{
    os<<"hours: "<<t.hours<<", minutes: "<<t.minutes<<std::endl;
    return os;
}

 

相关文章:

  • 2022-01-02
  • 2022-12-23
  • 2021-11-17
  • 2021-10-07
  • 2022-12-23
  • 2022-12-23
  • 2021-07-17
猜你喜欢
  • 2022-12-23
  • 2021-07-28
  • 2021-11-26
  • 2021-07-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案