使用其他对象的类构造函数

时间:2014-09-01 08:39:51

标签: c++ constructor operator-overloading

所以我有以下代码可以很好地运行:

CMyClass& CMyClass::operator=(DWORD rhs) 

...

CMyClass exc;
exc = GetLastError();

它可以完成我所期望的一切(调用=运算符中的内容。) 我想知道如何获得它,以便我可以像下面那样写它:

CMyClass exc = GetLastError();

我尝试使用上面的内容并且它没有调用=运算符功能,而是让我只使用一个只调用默认构造函数的类。

由于

1 个答案:

答案 0 :(得分:4)

需要构造函数。

CMyClass(DWORD rhs)

或明确

explicit CMyClass(DWORD rhs)

警告,隐式构造函数允许编译;

CMyClass exc = GetLastError();

但它也参与编译器生成的隐式构造和转换。通常最好是明确并写出来;

CMyClass exc ( GetLastError() );