#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;
}
【c++程序】friend与operator
最新推荐文章于 2024-06-18 13:18:41 发布