2

我想执行以下操作

int p = "xyz"

我应该包含3,即=右侧的字符串长度。

我尝试使用 char * 数据成员创建一个类 String,但我在重载 = 运算符时遇到了麻烦,因为我们必须传递至少一个我们为其重载运算符的类的对象。

请帮忙。

我尝试执行以下操作:

friend void operator=(int, char*)

但它不起作用,因为没有类类型的参数。

4

1 回答 1

10

这是不可能的,operator=对于整数类型是不可重载的。看到这个答案

如果使用std::string,解决方案很简单:

std::string p = "abc";
int l = p.size(); // Better than l = p, because self describing
于 2012-12-06T12:49:22.010 回答