⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 16-3.txt

📁 《C/C++完美演绎》源代码
💻 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 + -