C++ Erfenistoegang


Toegang tot spesifikasies

Jy het uit die Toegangsspesifikasies- hoofstuk geleer dat daar drie spesifiseerders in C++ beskikbaar is. Tot nou toe het ons slegs gebruik public(lede van 'n klas is toeganklik van buite die klas) en private(lede kan slegs binne die klas verkry word). Die derde spesifiseerder, protected, is soortgelyk aan private, maar dit kan ook in die geërfde klas verkry word:

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