假设我有一个对象.我将它分配给一个整数.
MyClass obj1 = 100;//Not valid
Run Code Online (Sandbox Code Playgroud)
比方说,我有一个接受整数的参数化构造函数.
MyClass(int Num)
{
// .. do whatever..
}
MyClass obj1 = 100;//Now, its valid
Run Code Online (Sandbox Code Playgroud)
同样在任何情况下,相反的情况是否有效?!
eg) int Number = obj1;//Is it VALID or can be made valid by some tweeks
Run Code Online (Sandbox Code Playgroud)
编辑:
我发现这可以使用转换函数. 转换函数通常称为"强制转换运算符",因为它们(以及构造函数)是使用强制转换时调用的函数.
转换函数使用以下语法:
operator convert-type-name()
例如,许多人在下面整整地解释了它
是的,前提是该对象int可以直接或通过中间对象隐式转换为.
例如,如果您的班级有转换operator int,它将起作用:
MyClass
{
public:
operator int() const { return 200; }
};
Run Code Online (Sandbox Code Playgroud)