繁体   English   中英

派生类指针如何调用基类函数

[英]how a derived class pointer can call the base class function

我有一个包含一些虚函数的基类'a',在派生类'b'中我对该函数进行了重载。 现在我又有一个仅从'b'派生的类'c'并且有一个指向类c的指针。但是我无法弄清楚如何从'c'类指针调用该函数。 帮助我,也许它很愚蠢,但是我被困在这里。

struct A { virtual void foo() {} };
struct B: A { void foo() override {} };
struct C: B {};

auto main() -> int
{
    C o;
    C* p = &o;

    p->foo();    // Calls B::foo
    p->A::foo(); // Calls A::foo
}

如果c是指向C的指针:

c->A::method();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM