16-5.txt

来自「《perfectC_C++》源代码」· 文本 代码 · 共 40 行

TXT
40
字号
/* 范例:16-5 */
#include <iostream.h>

class person
{
  public:
    person(string str):nickname(str),add(str){}  /* 类person的构造式 */
    string operator++();  	/* 声明前置的operator++ */
    string operator++(int);	/* 声明后置的operator++ */
    string nickname;
    string add;
};
void main(void)
{
  person Peter_Tang("Duck");
       /* 调用后置operator++,
          编译器将其编译成operator++(Peter_Tang) */
  cout <<"作Peter_Tang++的动作: " <<Peter_Tang++ <<endl;
       /* 调用前置operator++,
          编译器将其编译成Peter_Tang.operator++() */
  cout <<"作++Peter_Tang的动作: " <<++Peter_Tang <<endl;
  getchar();
}
string person::operator++()
{
  nickname=nickname+add;	// 先作 前置加法
  return nickname;   		// 返回 运算后的值
}
string person::operator++(int)
{
  string temp(nickname);
  nickname=nickname+add;
  return temp;   	// 返回 运算前的值
}

程序执行结果:
作Peter_Tang++的动作: Duck
作++Peter_Tang的动作: DuckDuckDuck

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?