假设我有一个对象。我将其分配给一个整数。
MyClass obj1 = 100;//Not valid
比方说,我有一个接受整数的参数化构造函数。
MyClass(int Num)
{
// .. do whatever..
}
MyClass obj1 = 100;//Now, its valid
同样,在任何情况下,反之亦然有效吗?!
eg) int Number = obj1;//Is it VALID or can be made valid by some tweeks
编辑:
我发现使用转换函数可以做到这一点。 转换函数通常称为“转换运算符”,因为它们(与构造函数一起)是使用转换时调用的函数。
转换函数使用以下语法:
operator conversion-type-name ()
eg)很多人在下面解释得很清楚
最佳答案
是的,前提是该对象可以直接或通过中间对象隐式转换为 int
。
例如如果你的类有一个转换 operator int
它会起作用:
MyClass
{
public:
operator int() const { return 200; }
};
关于c++ - 我可以将对象分配给整型变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3035367/