C/C++ operator操作符
题目应该是描述错误,应该是将输入的int转化为string
#include <stdio.h>
#include <string>
using std::string;
class AfInteger
{
private:
int value;
public:
AfInteger()
{
this->value = 0;
}
AfInteger(int value):value(value)
{
}
operator int()
{
return value;
}
string toString() const
{
char buf[32];
sprintf(buf, "%d", value);
return string(buf);
}
};
int main()
{
AfInteger obj(12);
string strValue = obj.toString();
printf("value: %s \n", strValue.c_str()); // 将obj转成int
return 0;
}
operator可以用来重载运算符,必须在C++中 我们的+ - * 只能做数学运算,你可以把它给重新定义,这就是重载运算符,重载后你可以把+ 定义为两个字符串相加等
operator是操作符的意思。operator是C++的关键字,不是C语言当中的,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。