Protected Base-Class Inheritance : protected « Class « C++ Tutorial






#include <iostream>
using namespace std;
   
class base {
protected:
  int i, j; // private to base, but accessible by derived
public:
  void setij(int a, int b) { i=a; j=b; }
  void showij() { cout << i << " " << j << "\n"; }
};
   
// Inherit base as protected.
class derived : protected base{
  int k;
public:
  // derived may access base's i and j and setij().
  void setk() { setij(10, 12); k = i*j; }
   
  // may access showij() here
  void showall() { cout << k << " "; showij(); }
};
   
int main()
{
  derived ob;
   
  ob.setk(); // OK, public member of derived
  ob.showall(); // OK, public member of derived
   
  return 0;
}








9.10.protected
9.10.1.Demonstrate protected members.
9.10.2.protected fields: private to base, but accessible by derived
9.10.3.Protected Base-Class Inheritance