我们如何检查两个类是不是继承自另一个?
Posted
技术标签:
【中文标题】我们如何检查两个类是不是继承自另一个?【英文标题】:How can we check two class are inherited from another?我们如何检查两个类是否继承自另一个? 【发布时间】:2020-02-05 09:43:51 【问题描述】:我们如何编写一个函数,它接受两个不同类的两个参数,如果这两个类继承自另一个类,则该函数需要返回 true,否则返回 false。
【问题讨论】:
请添加一些细节,显示你想要实现的函数签名和你想要使用的类 看这里How can I get object types in C++? 这在编译时是已知的,因此该函数将始终返回相同的结果。为什么需要这样的功能? 【参考方案1】:在标题中定义 <type_traits>
整数常量 std::is_base_of
如果您有静态类,可能会有用。如果您的案例是动态的,例如你必须检查指针是否指向从另一个类多态派生的类类型的对象,你可以使用dynamic_cast
【讨论】:
想要实现自己的功能而不是使用现有的 API以上是关于我们如何检查两个类是不是继承自另一个?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 5 中创建一个继承自另一个类的 UIImageView 类