istream运算符

0 c++

int main()
{
    HandPhone A,B;
    A>>B;//overloading operator>> to simulate sending sms to another handphone(object)
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我应该如何声明istream运算符来模拟将短信发送到另一个手机(对象)?

Mar*_*ork 7

这是如何定义>>运算符:

void operator >> (HandPhone& a, HandPhone& b)
{
    // Add code here.
}
Run Code Online (Sandbox Code Playgroud)

我已经将返回类型设置为void,因为我不确定链接是否有意义.

但是被认为是糟糕的设计(在C++世界中)使运算符重载以执行随机任务,因为它使代码难以阅读.流媒体运营商>>和<<有一个非常明确的含义,但发送消息看起来不像流媒体,我希望以这种方式使用运营商.我希望在流的目标端解组对象会产生一个非常类似于源端放置的对象.

做这样的事情要容易得多.

B.sendMessageTo(A,Message("PLOP"));
Run Code Online (Sandbox Code Playgroud)