如何判断两个类是否是父子关系?

Posted Cast

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断两个类是否是父子关系?相关的知识,希望对你有一定的参考价值。

摘自NoahFrame源码

template<typename DerivedType, typename BaseType>
class TIsDerived
{
public:
    static int AnyFunction(BaseType* base)
    {
        return 1;
    }

    static  char AnyFunction(void* t2)
    {
        return 0;
    }

    enum
    {
        Result = (sizeof(int) == sizeof(AnyFunction((DerivedType*)NULL))),
    };
};

assert((TIsDerived<className, classBaseName>::Result));

 

以上是关于如何判断两个类是否是父子关系?的主要内容,如果未能解决你的问题,请参考以下文章

12.instanceof和类型转换

如果同时保存的两个实体父子实体映射为一对多关系,则抛出 id not found 父类异常

十七面相对象的进阶

利用并查集判断一个无向图是否成树

javascript常用代码片段

Java中==和equals方法