如何从派生类函数调用父类函数?

如何从派生类函数调用父类函数?,第1张

如何从派生函数调用父类函数?

我冒着明显的危险:调用该函数,如果它在基类中定义,则该函数在派生类中自动可用(除非它是private)。

如果派生类中有一个具有相同签名的函数,则可以通过在基类名称后加上两个冒号来消除歧义

base_class::foo(...)
。你应该注意到,不像Java和C#,C 并没有对“基础类”(关键字super或base),因为C 支持多重继承,这可能导致歧义。

class left {public:    void foo();};class right {public:    void foo();};class bottom : public left, public right {public:    void foo()    {        //base::foo();// ambiguous        left::foo();        right::foo();        // and when foo() is not called for 'this':        bottom b;        b.left::foo();  // calls b.foo() from 'left'        b.right::foo();  // call b.foo() from 'right'    }};

顺便说一句,您不能两次直接从同一个类派生,因为将无法在另一类上引用一个基类。

class bottom : public left, public left { // Illegal};


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4885493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-11
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存