第十四章 重载操作与转换(二)

    技术2024-07-14  57

    14.9 转换与类类型

    1) 转换操作符

    例子:

    class SmallInt{

    public:

             smallInt(int I = 0):val(i){}

             operator int() const {return val;}//没有返回类型,没有参数列表,const类型

    private:

             stad::size_t val;

     

    };

     

    2)  只要存在转换,编译器就会在内置转化的地方就会自动应用之,所以一般一个类中一个类型转换就足够了

     

    3)  类型转换之后不能再跟一个类型转换,标准转换可以在类型转换前进行.

     

    4)  当出现二义性的问题的时候最好进行显式的类型转换或显式的调用构造函数.

    所谓二义性,就是指提供的信息太少(隐式),不足以区分,所以只要显式调用就足以解决这个问题了.

     

     

     

    最新回复(0)