编辑:
基本上我想要实现的是实现一副卡片,我可以按任何属性排序。属性可以是整数,双精度或其他类型,并且可以“更小”时更好’’…
您无法使用动态强制转换来实现此目的。您可以使用的是虚函数:
class AttributeIface{ public: virtual void print_value() = 0; }; cout << get<0>(a) << " has value => "; get<1>(a)->print_value(); cout << '\n';
我将作为练习留下来打印中间模板的名称。
//TODO: Why when the class is empty the casts doesnt work??
因为动态转换只能用于多态类型,并且如果基本没有虚函数,那么它不是多态的。