自定义流操作符 重载wcout
生活随笔
收集整理的這篇文章主要介紹了
自定义流操作符 重载wcout
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
開(kāi)發(fā)過(guò)程中的記錄,Mark一下,以后也會(huì)用到.
#include <iostream> #include <sstream> #include <cassert>using namespace std;class mystreamw { private: wstringstream _ss;wstring _str; public:friend mystreamw& myend(mystreamw& ms);friend wostream& operator <<(wostream& os, const mystreamw& ms); public:mystreamw& operator<< (const int& val ){_ss <<val;wcout << val;return *this;}mystreamw& operator<< (const wchar_t* s ){_ss <<s;wcout << s;return *this;}mystreamw& operator<< (const double& val){_ss <<val;wcout << val;return *this;}mystreamw& operator<<(mystreamw& ( __cdecl *fun)(mystreamw&) ); }; mystreamw& myend(mystreamw& ms) { ms._str = ms._ss.str(); wcout << endl;return ms; }wostream& operator <<(wostream& os, const mystreamw& ms) {os<<ms._str;return os; }mystreamw& mystreamw::operator<<(mystreamw& (*fun)(mystreamw&) ) { assert(NULL != fun);return ((*fun)(*this)); }int _tmain(int argc, _TCHAR* argv[]) {mystreamw mywcout;mywcout << 5 << _T("abc") << 3.57 << myend; mywcout << 666 << myend;getchar();return 0; }
?
總結(jié)
以上是生活随笔為你收集整理的自定义流操作符 重载wcout的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Vector的简单使用
- 下一篇: 单文档自定义工具栏