What is protected inheritance?
- When a class is being derived from another class, we can make use of access specifiers. This is essentially useful to control the access the derived class members have to the base class.
- When inheritance is protected :
i. Private members of base class are not accessible to derived class.
ii. Protected members of base class remain protected in derived class.
iii. Public members of base class become protected in derived class.
using namespace std;
int i, j;
void setij(int a, int b)
i = a;
j = b;
cout <<”\nI:”<<i<<”\n J:<<j;
class derived : protected base
k = i + j;
//ob.setij(); // not allowed. Setij() is protected member of derived
ob.setk(); //ok setk() is public member of derived
//ob.showij(); // not allowed. Showij() is protected member of derived
ob.showall(); // ok showall() is public member of derived