C++- Vererbungszugriff


Greifen Sie auf Spezifizierer zu

Sie haben aus dem Kapitel Zugriffsbezeichner gelernt , dass in C++ drei Bezeichner verfügbar sind. Bisher haben wir nur public(Mitglieder einer Klasse sind von außerhalb der Klasse zugänglich) und private(Mitglieder sind nur innerhalb der Klasse zugänglich) verwendet. Der dritte Bezeichner, protected, ähnelt private, kann aber auch in der geerbten Klasse aufgerufen werden:

Beispiel

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