本文介绍了如何知道一个类继承自另一个类.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想这样做

  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

解决方案


这篇关于如何知道一个类继承自另一个类.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 05:01