【c++程序】friend与operator
2016-05-24 22:36
232 查看
#include<iostream> using namespace std; //********************************************************* //自定义格式控制符 //无参的,可以是对象 class _HEXUB { friend ostream& operator<<(ostream &o,const _HEXUB &h) { return o<<hex<<uppercase<<showbase; } }; const _HEXUB hexub=_HEXUB();//定义成全局 //无参的,也可以是函数 ostream& func(ostream& o) { return o<<dec<<showpos; } class wf { unsigned int w; char f; public: wf(unsigned int w,char fill=' '):w(w),f(fill){} friend ostream& operator <<(ostream& o,const wf& x) { o.width(x.w); o.fill(x.f); return o; } }; int main() { cout<<hexub<<123<<endl;//ox7B //friend ostream& operator<<(ostream &cout,const _HEXUB &hexub) cout<<wf(10,'*')<<"good"<<endl; cout<<wf(8)<<"good"<<endl; cout<<func<<123<<endl; }
相关文章推荐