我有一个 Visual Studio 2008 C++03 项目,我想在其中验证对象是否属于某种类型。
例如:
int main()
{
struct A { virtual ~A() { }; };
struct B : public A { };
struct C : public A { };
A* b = new B();
A* c = new C();
assert( typeof( b ) == typeof( B ) );
assert( typeof( b ) != typeof( C ) );
assert( typeof( c ) == typeof( C ) );
assert( typeof( c ) != typeof( B ) );
assert( typeof( b ) != typeof( c ) );
return 0;
}
有没有办法在 C++03 中做到这一点?如何?