c++ - 不同类 C++ 的对象列表

标签 c++ class list

我已经想出使用多态性并让列表存储指向 baseClass 的指针,但是在成功将其放置在那里之后,我想知道该对象最初是什么类。我正在为类使用模板,并希望有另一个字段,它是基本类型的枚举。

现在的问题是:有没有办法检查(在运行时或编译期间)

(if T == int)  
   field = INT

我虽然可能与预处理器有关,但我对此并不熟悉。

最佳答案

多态性背后的整个思想是隐藏特定的实现,使其在程序流中透明。使用类的类型作为指示器会使您的代码因 if 语句而膨胀,并且更难维护。

我建议您重新考虑您的设计并使用预期的行为方法制作一个抽象类,并将此类类型用作列表对象类型。而不是为每个对象调用接口(interface)方法(在抽象类中声明并在派生类中实现)

关于c++ - 不同类 C++ 的对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10970507/

相关文章:

c++ - Nim 变体游戏策略 - StoneGameStrategist - SRM 309

Python:值的总和大于最后一个值

r - R 中的索引嵌套列表结构

python - 仅替换字符串的结尾

c++ - 将 std::cout 重定向到新创建的控制台

c++ - 参数在继承函数中消失

python - __str__ 没有足够的格式字符串参数

php - Prestashop Collection 加入数据库

c++ - 如何将相等运算符添加到 ImageButton (JUCE)?

c++ - 可调用的完美转发