首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C++中查找对象的类型

在C++中查找对象的类型
EN

Stack Overflow用户
提问于 2008-12-09 05:06:52
回答 9查看 343.3K关注 0票数 166

我有一个类A和另一个继承自它的类B。我重写了一个函数,这个函数接受类型A的对象作为参数,所以我必须接受一个A。然而,我后来调用了只有B有的函数,所以我想返回false,如果传递的对象不是类型B,就不继续。

找出传递给函数的对象是哪种类型的最好方法是什么?

EN

Stack Overflow用户

发布于 2008-12-09 06:51:03

正如其他人指出的那样,您可以使用dynamic_cast。但是,通常使用dynamic_cast来找出您正在处理的派生类的类型,这表明设计很糟糕。如果你正在重写一个以A的指针作为参数的函数,那么它应该能够使用类A本身的方法/数据,而不应该依赖于类B的数据。在你的例子中,如果你确定你正在编写的方法只适用于类B,那么你应该在类B中编写一个新的方法。

票数 3
EN
查看全部 9 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/351845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档