定义一个DataType(数据类型)类,能处理包含字符型、整型、浮点型3种类型的数据,给出其构造函数。

该类能够处理不同数据类型,即任何两种类型不会同时有效,因此考虑用联合体。
具体代码如下:

  #include <iostream>
    using namespace std;
    class DataType
    {
    public:
    	DataType(int i)
    	{
    		data.i = i;
    		type = INT;
    	}
    	DataType(char c)
    	{
    		data.c= c;
    		type = CHAR;
    	}
    	DataType(float f)
    	{
    		data.f = f;
    		type = FLOAT;
    	}
    	void Show()
    	{
    		switch (type)
    		{
    		case CHAR:
    			cout << data.c << endl;
    			break;
    		case INT:
    			cout << data.i << endl;
    			break;
    		case FLOAT:
    			cout << data.f << endl;
    			break;
    		default:
    			break;
           
    
    
    		}
    	}
    private:
    	enum TYPE { INT, CHAR, FLOAT };//已知所处理类型只有3种可能,运用枚举类型
    	union DATA 
    	{
    		int i;
    		char c;
    		float f;
    	};
    	TYPE type;
    	DATA data;
    };
    int main()
    {
    	DataType a('c');
    	a.Show();
    	DataType b(960);
    	b.Show();
    	DataType c(265.12f);//265.12默认为double型,加f为float型
    	c.Show();
    	return 0;
    }

运行结果:
在这里插入图片描述

  • 15
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值