c++声明一个类datatype类,能处理包含字符型、整型和浮点型三种类数据,给出其构造函数。
时间: 2024-05-14 07:16:54 浏览: 82
C++ 数据类型
好的,我了解了你的问题。以下是C++语言实现的datatype类,它可以处理包含字符型、整型和浮点型三种类型的数据,并且给出了构造函数:
```cpp
class datatype {
public:
enum type_t { CHAR, INT, FLOAT }; // 枚举类型,表示数据的类型
datatype() {} // 默认构造函数
datatype(char c) : type(CHAR), cval(c) {} // 字符型构造函数
datatype(int i) : type(INT), ival(i) {} // 整型构造函数
datatype(float f) : type(FLOAT), fval(f) {} // 浮点型构造函数
type_t get_type() const { return type; } // 获取数据类型
// 获取对应类型的值
char get_char() const {
if (type == CHAR) return cval;
else throw std::bad_cast();
}
int get_int() const {
if (type == INT) return ival;
else throw std::bad_cast();
}
float get_float() const {
if (type == FLOAT) return fval;
else throw std::bad_cast();
}
private:
type_t type; // 数据类型
char cval; // 字符型值
int ival; // 整型值
float fval; // 浮点型值
};
```
需要注意的是,上面的代码使用了枚举类型来表示数据的类型。在构造函数中,根据参数的类型分别构造一个datatype对象。同时,上面的代码还提供了获取数据类型和对应类型值的接口。
阅读全文