派生类指针如何调用基类函数
Posted
技术标签:
【中文标题】派生类指针如何调用基类函数【英文标题】:how a derived class pointer can call the base class function 【发布时间】:2016-08-21 03:48:47 【问题描述】:我有一个基类“a”,其中包含一些虚函数,在派生类“b”中,我重载了该函数。现在我还有一个仅从 'b' 派生的类 'c' 并且我有一个指向类 c 的指针。但是我无法弄清楚如何从 'c' 类指针中调用该函数。帮帮我,也许它很愚蠢,但我被困在这里。
【问题讨论】:
【参考方案1】: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
【讨论】:
【参考方案2】:如果c
是指向C
的指针:
c->A::method();
【讨论】:
感谢您的提示,更具体地说,我正在研究 Qt(c++ gui 库),并且我有一个类似这样的连接函数 connect(“C 类指针”,SIGNAL(A类 FUNC) , 另一个 ptr , SLOT(func)) ;现在我只是在使用这个 func,它给了我 FUNC 不在 C 类中的错误,有什么解决方案吗...以上是关于派生类指针如何调用基类函数的主要内容,如果未能解决你的问题,请参考以下文章