类类型转换

1.c++的两种类类型转化

1)转换构造函数

2)类型转换运算符

2.类型转换运算符

1)类型转换运算符将一个类类型转换成其他类型

2)形式:operator type() const   

  没有返回类型,没有形参,且为const成员

3)C++中没有返回类型的函数有3个,构造函数、析构函数、类型转换运算符

class A {
public:
    A(int i = 0) :val(i) {}    //转换构造函数:将int转换为类类型

    operator int() const //类型转换运算符:将类类型转换为int
    {
        return val;
    }
private:
    int val;
};


int main()
{
    A a(4);
    int num = a + 3;        //两步:先调用类型转换运算符将类A对象a转换成int型,再和3相加,所以num=7
    cout << num << endl;        //打印结果:7

    return 0;
}
原文地址:https://www.cnblogs.com/Joezzz/p/9733345.html