您好,登錄后才能下訂單哦!
在 C++ 中,可以通過重載 operator<<
來實現復雜對象的字符串化。這里是一個簡單的示例:
首先,定義一個復雜對象類,例如一個表示二維向量的類:
#include<iostream>
#include <sstream>
#include<string>
class Vector2D {
public:
Vector2D(double x, double y) : x_(x), y_(y) {}
// 獲取向量的 x 和 y 分量
double x() const { return x_; }
double y() const { return y_; }
private:
double x_, y_;
};
接下來,為 Vector2D
類重載 operator<<
函數,使其能夠將對象轉換為字符串:
std::ostream& operator<<(std::ostream& os, const Vector2D& vec) {
os << "("<< vec.x() << ", "<< vec.y() << ")";
return os;
}
現在,你可以使用 std::ostringstream
將 Vector2D
對象轉換為字符串:
int main() {
Vector2D vec(3.0, 4.0);
std::ostringstream oss;
oss<< vec;
std::string str = oss.str();
std::cout << "Vector2D as string: "<< str<< std::endl;
return 0;
}
輸出結果為:
Vector2D as string: (3, 4)
這樣,你就可以實現復雜對象的字符串化了。只需為你的類重載 operator<<
,然后使用 std::ostringstream
將對象轉換為字符串即可。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。