[C ++相当于Java的instanceof

问题描述 投票:197回答:6

实现与Java的instanceof等效的C ++的首选方法是什么?

java c++ oop instanceof
6个回答
195
投票

尝试使用:


34
投票

根据您要执行的操作,可以执行此操作:


5
投票

没有dynamic_cast的实现实例


0
投票

dynamic_cast被认为是无效的。它遍历继承层次结构,如果您具有多个继承级别,并且需要检查对象是否是其类型层次结构中任何一种类型的实例,则它是


-5
投票
#include <iostream.h>
#include<typeinfo.h>

template<class T>
void fun(T a)
{
  if(typeid(T) == typeid(int))
  {
     //Do something
     cout<<"int";
  }
  else if(typeid(T) == typeid(float))
  {
     //Do Something else
     cout<<"float";
  }
}

void main()
 {
      fun(23);
      fun(90.67f);
 }

-11
投票

这对我来说非常适合使用Code :: Blocks IDE和GCC编译器

© www.soinside.com 2019 - 2024. All rights reserved.