本文介绍了如何知道一个类继承自另一个类.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想这样做
class 答: public ... { 公共: // strObj:类的名称 布尔 isInherit(字符串strObj) { // 是从strObj继承的吗? } }
如果您确实需要在运行时接收字符串(例如,用户输入的内容),则需要进行反思;如果您确实需要在运行时接收字符串(例如,用户输入的内容),则需要进行反思.但是C ++没有反射.最接近的是RTTI(运行时类型信息);就我个人而言,我尽量不要使用它(从来没有发现开销合理的情况).
如果您知道在编译时正在检查哪个两个类,请使用google static_cast
.
另外,您可能对LOKI代码库或BOOST感兴趣.他们有显示A是否继承B的模板.但是它们是高级库.所有这些都在编译时解决,这是一件好事(零运行时开销).
希望这会有所帮助,
巴勃罗.
i want do like this
class A: public ... { public: //strObj: a class's name bool isInherit(string strObj) { //A inherit from strObj? } }
thanks
解决方案
这篇关于如何知道一个类继承自另一个类.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!