微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

即使派生类中的公共函数是被调用的函数,为什么下面的代码也会出错?

如何解决即使派生类中的公共函数是被调用的函数,为什么下面的代码也会出错?

在下面的代码中,一个公共函数覆盖了基类中的一个私有虚函数 ob->hello() 应该在公共的派生类中调用 hello() 。 为什么我仍然看到 hello() 是私有的错误

    ```
     #include<iostream>
     using namespace std;

     class base{
       private:
       virtual void hello();
     };

     class der: public base{
        public:
        void hello();
      }; 

      void der::hello(){
        cout<<"hi"<<endl;
      }    

      void base::hello(){
        cout<<"hello"<<endl;
      }

      int main(){
         base* ob = new der();
         ob->hello();
      }    
      ```

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。