Quyền truy cập kế thừa C ++
Access Specifier
Bạn đã học được từ chương Bộ định nghĩa truy cập rằng có ba mã định nghĩa có sẵn trong C ++. Cho đến nay, chúng tôi chỉ sử dụng public
(các thành viên của một lớp có thể truy cập từ bên ngoài lớp) và private
(các thành viên chỉ có thể được truy cập trong lớp). Bộ chỉ định thứ ba, protected
tương tự như
private
, nhưng nó cũng có thể được truy cập trong
lớp kế thừa :
Thí dụ
// 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;
}