我不知道是否有任何可能創建函數返回的ostream的某些部分,如例如:函數返回ostream的
#include <iostream>
class Point {
public:
Point(int x, int y){
this->x = x;
this->y = y;
}
?? getXY(){ // I wish this function returned ostream
return ??;
}
private:
int x,y;
};
int main() {
Point P(12,7);
std::cout << "(x,y) = " << P.getXY(); // (12, 7);
}
我想輸出是:
(x,y) = (12,7)
我不t希望getXY()返回任何字符串或char數組。我可以以某種方式返回流的一部分?
爲什麼不直接返回'std :: string'? – tenfour
這很明顯,我可以這樣做,但它是我大學OOP的「家庭作業」的一部分。我無法編輯行:std :: cout << P.getXY();所以它必須由函數返回。我想知道如果我可以用其他方式做,而不是使用字符串。 – mbes
你不能返回std :: ostream,它有一個私有拷貝構造函數。對於std :: stringbuf也是如此。你可以做的是返回一個帶有兩個值的std :: pair和重載操作符<<以便打印你想要的東西。 – ipapadop