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 關注
- 490 瀏覽
添加回答
舉報