c++ - 一个类对象到另一个数据类型?

标签 c++ type-conversion

能否将类对象转换为 int、double、char 等。它是隐式转换还是显式转换?

class MyClass
{
int x;
};

int main()
{
    MyClass MyObject; //convert my object to int
}

最佳答案

创建一个转换运算符:

class Foo {
public:
    operator int() const { return 1; }
};

class Bar {
public:
    operator Foo() const { return Foo(); }
};


int main() {
    Foo f;
    Bar b;
    int i1 = f; // implicit, just one conversion
    int i2 = b; // not valid
    int i3 =  static_cast<Foo>(b); // Convert b to Foo explicitly, Foo to int implicitly
}

关于c++ - 一个类对象到另一个数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5304606/

相关文章:

c++ - 汇编最大整数除法

java - String int 变量说明

c# - 从数组创建列表的效率

c - 如何将 4 个 modbus 寄存器(每个 16 位)转换为 C 中的双 float ?

c++ - 如何在预处理器中交换两个数字?

c++ - 我们可以创建一个特征矩阵 vector 吗?

c++ - 转换为使用 typedef 创建的结构类型

c++ - 隐式字符转换

java - 类型不匹配错误 : convert ArrayList<SubClass1> to List<SuperClass>? 的原因

Java 无符号字节 [2] 到 int?