C++ Overerving Toegang


Toegangsspecificaties

U hebt uit het hoofdstuk Access Specifiers geleerd dat er drie specificaties beschikbaar zijn in C++. Tot nu toe hebben we alleen public(leden van een klas zijn toegankelijk van buiten de klas) en private(leden zijn alleen toegankelijk binnen de klas) gebruikt. De derde specificatie, protected, is vergelijkbaar met private, maar is ook toegankelijk in de overgeërfde klasse:

Voorbeeld

// 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;
}