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