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;
}
蛊毒传说
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,则您需要<<使用与上述相同的方法来重载该类型的运算符。
富国沪深
TA贡献1790条经验 获得超9个赞
这很简单,只需实现:
std::ostream & operator<<(std::ostream & os, const myclass & foo)
{
os << foo.var;
return os;
}
您需要返回对os的引用才能链接输出(cout << foo << 42 << endl)
- 3 回答
- 0 关注
- 462 浏览
添加回答
举报
0/150
提交
取消