C++ Inheritance Access
Access Specifiers
You learned from the Access Specifiers chapter that there are three specifiers available in C++.
Until now, we have only used public (members of a
class are accessible from outside the class) and private (members can only be
accessed within the class).
The third specifier, protected, is similar to
private, but it can also be accessed in the
inherited class:
Example
// Base class
class
Employee {
protected: // Protected access specifier
int salary;
};
// Derived class
class Programmer: public Employee {
public:
int bonus;
void
setSalary(int s) {
salary = s;
}
int getSalary() {
return salary;
}
};
int main() {
Programmer myObj;
myObj.setSalary(50000);
myObj.bonus =
15000;
cout <<
"Salary: " << myObj.getSalary() << "\n";
cout << "Bonus: " <<
myObj.bonus << "\n";
return 0;
}
Try it Yourself »