首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么判断一个对象是不是类对象

2012-04-06 
如何判断一个对象是不是类对象。实现一个函数check()判断一个对象是不是类对象。template typename Tbool

如何判断一个对象是不是类对象。
实现一个函数check()判断一个对象是不是类对象。
template <typename T>
bool check(T)
{
  if(是否是类对象)
  {
  return ture;
  }
  else
  {
  return false;
  }
}
测试
class obj;
int ia;
check(obj);
check(ia);



[解决办法]

探讨
C++ Template一书中是这样实现的,我用VS2005没编译通过。
template <typename T>
class IsClassT
{
private:
typedef char One;
typedef struct { char a[2]; } Two;
template <typename C> static One test(int C::*);
template <typename C> static Two test(...);
public:
enum{ Yes = sizeof(IsClassT <T>::test <T>(0)) == 1 };
enum{ No = !Yes };

};

template <typename T>
void check…

[解决办法]
C++ Templates还讲了另外一种实现吧。继续看。
[解决办法]
路过,学习了~~

探讨
C++ Template一书中是这样实现的,我用VS2005没编译通过。
template <typename T>
class IsClassT
{
private:
typedef char One;
typedef struct { char a[2]; } Two;
template <typename C> static One test(int C::*);
template <typename C> static Two test(...);
public:
enum{ Yes = sizeof( test<T>(0) ) == 1 }; //这里把类作用域去掉就编译过了...不知道为什么..??
enum{ No = !Yes };

};

template <typename T>
void check…

热点排行