从基类指针调用派生类方法

斯利尔
//Parent.h
class Parent
{
public:
    virtual void foo() = 0;
};

//Child.h
class Child : public Parent
{
public:
    virtual void foo(){cout << "inside function foo()" << endl;}
    virtual void bar(){cout << "inside function bar()" << endl;};    
};

int main( int argc, char** argv ){
    Parent* pa = new Child;
    pa->foo();
    pa->bar(); //Error, class Parent have no member bar
    return 0;
}

除了将这些函数添加到Parent类中之外,我如何避免此错误

埃里克·福汀

您可以将指针声明为“子类型”。您仍然可以将其传递给需要Parent指针的函数。

其他解决方案涉及使用,dynamic_cast<Child>(pa)尽管这经常被认为是不良设计,需要使用它,因为它破坏了多态性应该完成的功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从基类指针调用派生类方法?

来自分类Dev

派生类指向基类对象的指针如何调用派生类的方法?

来自分类Dev

派生类指向基类对象的指针如何调用派生类的方法?

来自分类Dev

C ++继承:指向基类的派生类指针调用派生类方法

来自分类Dev

通过基类函数指针调用派生类

来自分类Dev

为什么派生类指针指向基类可以调用派生类成员函数?

来自分类Dev

从基类类型的指针数组中调用派生类的方法。(C ++)

来自分类Dev

从基类指针访问派生类

来自分类Dev

从基类指针克隆派生类

来自分类Dev

从基类实例调用派生类方法

来自分类Dev

从基类析构函数调用派生类方法

来自分类Dev

C ++:在派生类成员上调用基类方法

来自分类Dev

C ++如何从多个派生类调用基类方法?

来自分类Dev

从基类析构函数调用派生类方法

来自分类Dev

从基类实例调用派生类方法

来自分类Dev

在基类内部使用派生类实例调用带有派生类数据的基类方法

来自分类Dev

从基类方法克隆派生类

来自分类Dev

从基类方法克隆派生类

来自分类Dev

C ++-基类指针,方法指针,是指派生类,方法吗?

来自分类Dev

如何通过指向基类的指针序列化派生类?Derived :: serialize未调用

来自分类Dev

从指向基类对象的指针向量调用派生类的唯一功能

来自分类Dev

为什么`this`在调用派生类对象时无法从基类方法访问派生类成员

来自分类Dev

在创建者中调用的方法是从基类调用的,而不是从派生类调用的

来自分类Dev

从基类的指针访问派生类的成员

来自分类Dev

从基类指针访问派生类成员

来自分类Dev

从抽象基类指针到派生类的转换

来自分类Dev

如何防止基类的指针指向派生类?

来自分类Dev

For循环和基类指针指向派生类的问题

来自分类Dev

从基类指针访问派生类成员

Related 相关文章

  1. 1

    如何从基类指针调用派生类方法?

  2. 2

    派生类指向基类对象的指针如何调用派生类的方法?

  3. 3

    派生类指向基类对象的指针如何调用派生类的方法?

  4. 4

    C ++继承:指向基类的派生类指针调用派生类方法

  5. 5

    通过基类函数指针调用派生类

  6. 6

    为什么派生类指针指向基类可以调用派生类成员函数?

  7. 7

    从基类类型的指针数组中调用派生类的方法。(C ++)

  8. 8

    从基类指针访问派生类

  9. 9

    从基类指针克隆派生类

  10. 10

    从基类实例调用派生类方法

  11. 11

    从基类析构函数调用派生类方法

  12. 12

    C ++:在派生类成员上调用基类方法

  13. 13

    C ++如何从多个派生类调用基类方法?

  14. 14

    从基类析构函数调用派生类方法

  15. 15

    从基类实例调用派生类方法

  16. 16

    在基类内部使用派生类实例调用带有派生类数据的基类方法

  17. 17

    从基类方法克隆派生类

  18. 18

    从基类方法克隆派生类

  19. 19

    C ++-基类指针,方法指针,是指派生类,方法吗?

  20. 20

    如何通过指向基类的指针序列化派生类?Derived :: serialize未调用

  21. 21

    从指向基类对象的指针向量调用派生类的唯一功能

  22. 22

    为什么`this`在调用派生类对象时无法从基类方法访问派生类成员

  23. 23

    在创建者中调用的方法是从基类调用的,而不是从派生类调用的

  24. 24

    从基类的指针访问派生类的成员

  25. 25

    从基类指针访问派生类成员

  26. 26

    从抽象基类指针到派生类的转换

  27. 27

    如何防止基类的指针指向派生类?

  28. 28

    For循环和基类指针指向派生类的问题

  29. 29

    从基类指针访问派生类成员

热门标签

归档