protected section of a class, although still unavailable to the general program, are available to the derived class.private to a base class if we wish to prevent subsequently derived classes from having direct access to that member.protected if we believe it provides an operation or data storage a subsequently derived class requires direct access to in order for that derived class to be effectively implemented.The members of the abstract base class represent:
virtual void eval() = 0;
indicates that no virtual definition is provided for the eval() function of an abstract base class. Why? Because there is no meaningful algorithm for it to define. This instance of eval() is called a pure virtual function.