ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数值与对象之间的类型转换

2021-11-02 21:30:39  阅读:155  来源: 互联网

标签:类型转换 return 对象 value int mValue 数值 operator MyClass


数值转对象

	class MyClass
	{
	private:
	    int mValue;
	public:
	    MyClass(int value)
	    {
	        mValue = value;
	    }
	    };
	int main(int argc, const char * argv[]) {
		int n = 33.3;
	    MyClass myClass(30);  // 将int类型的值转换为MyClass对象
	    return 0;
    }

对象转数值

借助operator typename() {… }实现
规范如下:

  1. 转换函数必须是方法
  2. 转换函数不能有返回值
  3. 转换函数不能有参数
class MyClass
{
private:
    int mValue;
    double mDValue;
public:
    MyClass(int value)
    {
        mValue = value;
    }
    MyClass(double value)
    {
        mDValue = value;
    }
    operator int() {
    	return mValue;
    }
    operator double()
    {
        return mDValue;
    }

};

int main(int argc, const char * argv[]) {
    int value = myClass;
    cout << value << endl;
    
    MyClass myClass1(30.123);
    double value1 = myClass1;
    cout << value1 << endl;
    return 0;
}

标签:类型转换,return,对象,value,int,mValue,数值,operator,MyClass
来源: https://blog.csdn.net/amin_hui/article/details/121109663

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有