C++:求给我的这个程序段的每个语句注释

来源:百度知道 编辑:UC知道 时间:2024/05/26 04:07:26
//【例12.3】重载插入运算符

#include <iomanip.h>
class RMB
{
public:
RMB(double v=0.0)
{
yuan=unsigned(v);
jf=unsigned((v-yuan)*100.0+0.5);
}
operator double()//类类型转换函数
{
return yuan+jf/100.0;
}
void display(ostream& out)
{
out<<yuan<<'.'<<setfill('0')
<<setw(2)<<jf<<setfill(' ');
}
protected:
unsigned int yuan;
unsigned int jf;
};

ostream& operator << (ostream& ot,RMB& d)
{
d.display(ot);
return ot;
}

void main()
{
RMB rmb(2.3);
cout<<"Initially rmb="<<rmb<<"\n";//调用重载插入运算符函数
rmb=2.0*rmb;
cout<<"then rmb="<<rmb<<"\n";
}

#include <iomanip.h> //MFC的一个头文件,主要做格式控制的事情
class RMB //定义一个RMB类
{
public: //共有成员函数
RMB(double v=0.0) //类RMB的构造函数,默认参数为“0”。
{
yuan=unsigned(v); //将 v 赋给 yuan;
jf=unsigned((v-yuan)*100.0+0.5); //将..赋给jf
}
operator double()//类类型转换函数
{
return yuan+jf/100.0; //返回yuan+jf/100.0
}
void display(ostream& out) //输出函数
{
out<<yuan<<'.'<<setfill('0')
<<setw(2)<<jf<<setfill(' ');
}
protected: //保护数据成员
unsigned int yuan;
unsigned int jf;
};

ostream& operator << (ostream& ot,RMB& d) //重载<<运算符
{
d.display(ot); //调用输出函数
return ot;
}

void main() //主函数
{
RMB rmb(2.3); //定义并初始化类RMB的对象rmb
cout<<"Initially rmb="<