找一种方便的方法记录子类的类名

KID_coder 2012-11-20 07:20:12
我需要判断一个类是否是另一个类的子类,需要一个函数如isInherit

class A:public ...
{
public:
bool isInherit(string strObj)
{
//function.
}
}

以上,传入一个字符串(一个类名),判断它是否是这个类的子类。
有没有好的方法,求高人。


好久没来csdn了,都改版了
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ri_aje 2012-11-20
  • 打赏
  • 举报
回复
LZ 只需要判断继承关系的话,std::is_base_of<base,derived>::value 就行了。如果需要将每个类对应一个字符串的名字,那就只能自己动手,丰衣足食了。
newtee 2012-11-20
  • 打赏
  • 举报
回复
不了解C++ 楼主自己看有没有用吧! 学C#的 C#里面判断挺容易的
KID_coder 2012-11-20
  • 打赏
  • 举报
回复
引用 1 楼 anhuizhuanjiao 的回复:
我写了一个,楼主可以试下 C/C++ code?1234567891011121314151617181920212223class A{ public: string str; A() { this->str="A"; }};class B:public A{public: B(){} bool isInhe……
这个是最容易想到的,我也想过,不过子类过多的话,每次都要this->str="A";子类过多的话,太繁琐了,不易修改。 3L的是.net的?
newtee 2012-11-20
  • 打赏
  • 举报
回复
C#里面就简单了 C++还真不知道 不过网上应该可以搜到楼主问题的答案吧!
转角天边 2012-11-20
  • 打赏
  • 举报
回复
我写了一个,楼主可以试下

class  A
{
	
public:
	string str;
	A()
	{
		this->str="A";
	}
};
class B:public A
{
public:
	B(){}
	bool isInherit(string strObj)
	{
		if(strObj==str)
			return true;
		else
			return false;
	}
};

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧