C++ dědičný přístup


Specifikátory přístupu

Z kapitoly Specifikátory přístupu jste se dozvěděli , že v C++ jsou k dispozici tři specifikátory. Doposud jsme používali pouze public(členové třídy jsou přístupní mimo třídu) a private(členové mohou být přístupní pouze v rámci třídy). Třetí specifikátor , protectedje podobný private, ale lze k němu také přistupovat ve zděděné třídě:

Příklad

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