在这里str变量被声明为一个string对象,它拥有一个对“operator+”运算符的重载:
string& operator+(int i);“+”运算符在接收一个int型变量后,会自动调用这个方法,他会把数转成字符串连在后面。
具体的可以看看C++关于运算符重载的部分:
return_type/*返回值类型,可以是类类型*/这样声明在类中,并和普通函数一样实现就可以了。
追问是要自己重载之后才能实现吗?那如果没有重载是什么意思呢?
追答string类本身是编译器提供的,不需要我们自己实现任何方法。这个“+”运算符也是包含在标准库里的,写上
#include <string>之后直接用就可以了。
如果是自己的类,没有重载“+”或其他运算符就使用,会导致一个编译错误。