gpt4 book ai didi

c++ - 当有多个派生类时,如何使用基类指针访问派生类的函数成员?

转载 作者:行者123 更新时间:2023-11-30 01:42:02 25 4
gpt4 key购买 nike

假设我有一个基类 A 和来自 A 的三个派生类,分别称为类 xyz。现在,类 x 有一个函数成员 f,我想通过多态性从类 A 指针访问它。

我知道我还必须在类 A 中定义相应的虚函数,否则,我会得到类似 "class A has no member named f" 的错误>。但是,如果我在A中定义虚函数,我还需要在yz中定义f,否则,将引发一个错误,指出 “y 和 z 是抽象类类型”。但有时,f 就像一个仅与类 x 相关的特征函数,在类 yz< 中定义是没有意义的,虽然我可以在yz 中不给出任何内容来写它。

我的问题是上面的场景,我该怎么办?

最佳答案

据我所知,您有 3 个选择:

  1. 重新设计,因为您的对象不正确。
  2. 实现一个断言然后抛出的基本函数
  3. 测试 dynamic_cast<> 的结果 - 如果返回 null,则失败。

关于c++ - 当有多个派生类时,如何使用基类指针访问派生类的函数成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40244332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com