📄 16-3.txt
字号:
/* 范例:16-3 */
#include <iostream.h>
class A
{
public:
double A_dou;
string A_str;
char buf[20];
A(double dou):A_dou(dou){} /* A类的构造函数 */
/* 声明operator+,this是隐含的第一个参数 */
A& operator+(string str)
{
gcvt(A_dou,5,buf); /* 将double类型的数值转换为以'\0'为结尾的ASCII字
符串 */
A_str=buf+str;
return *this;
}
/* 声明operator+的Overload,this是隐含的第一个参数 */
A& operator+(double dou)
{
A_dou=A_dou+dou;
return *this;
}
};
void main(void)
{
A obj1(5.7); /* 构造一个A类的对象obj1 */
obj1=obj1+"peter"; /* 编译器将其编译成obj1 = obj1.operator+("peter") */
cout <<"对象obj1+字符串Peter=" <<obj1.A_str <<endl;
obj1=obj1+5.1; /* 编译器将其编译成obj1 = obj1.operator+(5.1) */
cout <<"对象obj1+5.1=" <<obj1.A_dou <<endl;
getchar();
}
程序执行结果:
对象obj1+字符串Peter=5.7peter
对象obj1+5.1=10.8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -