为了账号安全,请及时绑定邮箱和手机立即绑定

我如何使用cout << myclass

我如何使用cout << myclass

C++
慕雪6442864 2019-09-24 16:55:44
myclass 是我写的C ++类,当我写的时候:myclass x;cout << x;如何输出10或20.2,如integer或float值?
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

通常通过重载operator<<您的课程:


struct myclass { 

    int i;

};


std::ostream &operator<<(std::ostream &os, myclass const &m) { 

    return os << m.i;

}


int main() { 

    myclass x(10);


    std::cout << x;

    return 0;

}


查看完整回答
反对 回复 2019-09-24
?
蛊毒传说

TA贡献1895条经验 获得超3个赞


您需要重载<<运算符,


std::ostream& operator<<(std::ostream& os, const myclass& obj)

{

      os << obj.somevalue;

      return os;

}

然后,当您执行此操作时cout << x(在您的情况下x为type myclass),它将输出您在方法中告诉您的内容。在上面的示例中,它将是x.somevalue成员。


如果不能将成员的类型直接添加到中ostream,则您需要<<使用与上述相同的方法来重载该类型的运算符。


查看完整回答
反对 回复 2019-09-24
?
富国沪深

TA贡献1790条经验 获得超9个赞

这很简单,只需实现:


std::ostream & operator<<(std::ostream & os, const myclass & foo)

{

   os << foo.var;

   return os;

}

您需要返回对os的引用才能链接输出(cout << foo << 42 << endl)


查看完整回答
反对 回复 2019-09-24
  • 3 回答
  • 0 关注
  • 434 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信