C ++継承アクセス


アクセス指定子

アクセス指定子の章から、C ++で使用できる指定子が3つあることを学びました。これまでは、public(クラスのメンバーはクラスの外部からアクセス可能)とprivate(メンバーはクラス内でのみアクセス可能)を使用してきました。3番目の指定子であるprotected、はに似て いますが、継承されたクラスprivateでアクセスすることもできます 。

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