您的位置:首页 > 编程语言 > C语言/C++

【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;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: