I'm struggling to find the right answer on below question on the internet. I'm not a native C++ programmer and have more knowledge of OOP programming in PHP, Pascal, and JavaScript, but i can manage.
I want to create a class hierarchy to handle some tasks like displaying content on a LCD screen.
It looks like the following classes:
class base {
  public:
    base() { };
    virtual void display() { // Need to be called first from all child objects };
    virtual bool keyPress(int state) { //Need to be called first from all child objects };
};
class child : public base {
  public:
    child():base() {};
    virtual void display() { 
       >> call base->display() 
       // do some stuff
    };
    virtual bool keyPress(int state) { 
       >> call base->keyPress(state) 
       // check some stuff
    };
};
Most program language that i know of has some 'parent::' solution to call the inherited virtual method but i cant find anything comparable for C++.
an option that i going to use for now is:
class base {
  protected:
    virtual void _display() =0;
    virtual bool _keyPress(int state) =0;
  public:
    base() { };
    void display() { 
        // do basic stuff
        _display();
    };
    bool keyPress(int state) { 
      if (!_keyPress(state)) {
        // do basic stuff.
   };
};
class child : public base {
  protected:
    virtual void _display() { 
       // do some stuff
    };
    virtual bool _keyPress(int state) { 
       // check some stuff
    };
  public:
    child():base() {};
};
I do not like this method but it will work.
 
    