gpt4 book ai didi

c++ - 如何为所有类型的整数值类型创建全局类型并了解它们在 C++ 中的类型

转载 作者:搜寻专家 更新时间:2023-10-31 02:18:55 28 4
gpt4 key购买 nike

我喜欢制作通过引用变量从任何整数(float、int、double ..)到自定义类型的函数。这个类型应该知道它是从哪个类型构造的。例如,假设我构建了自定义类型

class Variable
{
public:
Variable(int &v)
Variable(float &v)
Variable(double &v)
Variable(short &v)

void setNuwValue(int &v)
void setNuwValue(float &v)
void setNuwValue(double &v)
void setNuwValue(short &v)

var_type_enum getType();
};

现在在我的应用程序中我有一个函数,它将这个变量类型作为参数

void modifyVar(Variable& var)
{
//1.how to know the var type it can return enum of types or string what ever ..
var_type_enum type = var.getType();
var.setNuwValue(3);
}

如您所见,这只是没有实现的伪代码,我不知道如何实现,我需要帮助。简而言之,我希望能够实现全局类型 var,例如 javascript "var"type

最佳答案

试试这个:

enum VT
{
VT_int,
VT_float,
VT_double,
VT_short
}

class Variable
{

int i;
float f;
double d;
short s;

VT type;
public:
Variable() : i(0), f(0), d(0), s(0) {}
Variable(int &v) { i = v; type = VT_int; }
Variable(float &v) { f = v; type = VT_float; }
Variable(double &v) { d = v; type = VT_double; }
Variable(short &v) { s = v; type = VT_short; }

void setNuwValue(int &v) { i = v; type = VT_int; }
void setNuwValue(float &v) { f = v; type = VT_float; }
void setNuwValue(double &v) { d = v; type = VT_double; }
void setNuwValue(short &v) { s = v; type = VT_short; }

VT getType() const { return type; }
};

关于c++ - 如何为所有类型的整数值类型创建全局类型并了解它们在 C++ 中的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34065218/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com