Call base class method from derived class object

前端 未结 4 812
不知归路
不知归路 2020-12-02 17:15

How can I call a base class method which is overridden by the derived class, from a derived class object?

class Base{
  public:
    void foo(){cout<<\"         


        
4条回答
  •  再見小時候
    2020-12-02 17:48

    Consider making foo() virtual in the first place.

    class Base {
    public:
        virtual ~Base() = default;
    
        virtual void foo() { … }
    };
    
    class Derived : public Base {
    public:
        virtual void foo() override { … }
    };
    

    However, this does the job:

    int main() {
        Derived bar;
        bar.Base::foo();
        return 0;
    }
    

提交回复
热议问题