【发布时间】:2015-03-22 06:59:13
【问题描述】:
我想重载 = 运算符。它应该像这样工作:
MyClass a;
double b=a;
我该怎么做?
Tschüss,安德烈
【问题讨论】:
我想重载 = 运算符。它应该像这样工作:
MyClass a;
double b=a;
我该怎么做?
Tschüss,安德烈
【问题讨论】:
那不是operator=(作业)。这是一个初始化程序。您通常会通过提供一个将MyClass 作为参数的构造函数来执行此类操作 - 但是,您不能对double 执行此操作。相反,你需要为MyClass提供一个转换函数:
class MyClass
{
public:
operator double() const { return 5.0; }
};
【讨论】: