【问题标题】:What kind of error will result from attempting to access a derived class member function through a base class pointer?尝试通过基类指针访问派生类成员函数会导致什么样的错误?
【发布时间】:2018-05-27 23:45:31
【问题描述】:

假设我们有一个指向基类对象的指针bp,和一个指向派生类的指针dp,并设置bp = dp。尝试通过基指针访问派生类成员函数会导致编译时错误还是运行时错误?

【问题讨论】:

  • 试试看,你会看到的。
  • 如果 dp 中的函数不是 bp 函数的覆盖,则编译时间
  • 查找多态性。

标签: c++ inheritance polymorphism derived-class


【解决方案1】:

如果方法在基类中,那么它将运行。如果它不在 Base 类中,则会导致无法访问该方法的编译时错误。这是多态性和动态绑定的一个组成部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 2011-01-27
    • 2015-02-04
    • 2016-07-31
    • 1970-01-01
    相关资源
    最近更新 更多