📄 16-5.txt
字号:
/* 范例: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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -