16-3.txt

来自「C++完美演绎 经典算法 如 /* 头文件:my_Include.h */ #i」· 文本 代码 · 共 40 行

TXT
40
字号
/* 范例: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 + =
减小字号Ctrl + -
显示快捷键?