C++ 상속 액세스


액세스 지정자

액세스 지정자 장에서 C++에서 세 가지 지정자를 사용할 수 있다는 것을 배웠습니다 . 지금까지는 public(클래스의 멤버는 클래스 외부에서 액세스할 수 있음) 및 private(멤버는 클래스 내에서만 액세스할 수 있음)만 사용했습니다. 세 번째 지정자 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;
}