一个简单的 C++ 问题:是否可以根据指针的运行时类型调用一个函数或另一个函数?
例如,我有一个 A 类,B 类是 A 的孩子。
我想写一个函数 f 这样
f(A* a)
{//do something
}
f(B* b)
{//do something else
}
//call f()
A* a = new A();
A* b = new B();
f(a);//do something
f(b);//do something, but I'd like it to "do something else"
附加精度:A 和 B 是在我的代码中定义和实例化的,所以我不能在 A 和 B 上使用带有虚函数的常规多态性......
我知道你可以使用一些 RTTI,但有更优雅的解决方案吗?