=运算符的重载
Overloading of the =operator
我想重载 = 运算符。它应该像这样工作:
MyClass a;
double b=a;
我该怎么做?
楚斯,安德烈
那不是 operator=
(作业)。它是一个初始化程序。您通常会通过提供一个将 MyClass
作为参数的构造函数来执行类似的操作 - 但是,您不能为 double
执行此操作。相反,您需要为 MyClass
:
提供一个转换函数
class MyClass
{
public:
operator double() const { return 5.0; }
};
我想重载 = 运算符。它应该像这样工作:
MyClass a;
double b=a;
我该怎么做?
楚斯,安德烈
那不是 operator=
(作业)。它是一个初始化程序。您通常会通过提供一个将 MyClass
作为参数的构造函数来执行类似的操作 - 但是,您不能为 double
执行此操作。相反,您需要为 MyClass
:
class MyClass
{
public:
operator double() const { return 5.0; }
};