第一个英语不是我的第一语言。如果你需要解释更多的东西,请问。具有自定义枚举的C++类
我想做的是做一个扩展enum的使用的类。假设你有
enum Color
{ red,
green,
blue };
我想打一类,所以我可以作出这样
CustomEnum myEnum("red",
"green",
"blue",
"The house is red",
"The tree is green",
"The car is blue");
这样一个对象,我可以打电话给像
myEnum.getString(red);
通过自定义功能,它会返回“房子是红色的”映射值。然而,我有许多更多的函数需要编写,并且有许多枚举。
CustomEnum mySecondEnum("pizza",
"soup",
"eggs",
"burger",
"The pizza is hot",
"The soup has gone cold",
"The eggs are bad",
"The burger has cheese");
注意两个枚举的大小不同,但CustomEnum并不在意。
我已经做了大量的谷歌搜索,想出了这是不能做到的(因为枚举是在编译时),或者我用google搜索错误的东西。在这一点上,我想确认这是不可能完成的,或者如果有人能指出我正确的方向。
你为什么不只是使用'std :: map'? – CinCout
其他愚蠢:[如何将枚举类型变量转换为字符串?](http://stackoverflow.com/q/5093460/514235)... Q的前提有问题。显然,你想有一个'CustomEnum'并且将所有的枚举类型,比如'Color','Food'等组合到那个中。但是,你要如何检查'red'和'pizza'是否不一样。因此,对于每个枚举类型,您可能需要单独的'std :: map'。为此,你可以参考链接和以上的骗局。 – iammilind