【发布时间】:2014-11-19 13:31:01
【问题描述】:
您好,我正在尝试重载类的赋值运算符以返回类成员(数据)。
class A{
public:
int32_t ToInt32() { return this->data; }
void SetData(int32_t data) { this->data=data; }
private:
int32_t data;
}
我想重载 = 运算符,以便我可以执行以下操作:
A *a = new A();
a->SetData(10);
int32_t Testint;
Testint = a;
现在a 应该是10。
我该怎么做?
【问题讨论】:
-
您不能为原始类型重载
operator=()。你可以做的是为A提供一个强制转换运算符,但是赋值应该是这样的:Testint = *a;
标签: c++ operator-overloading assignment-operator