Accès à l'héritage C++
Spécificateurs d'accès
Vous avez appris dans le chapitre sur les spécificateurs d' accès qu'il existe trois spécificateurs disponibles en C++. Jusqu'à présent, nous n'avons utilisé que public
(les membres d'une classe sont accessibles depuis l'extérieur de la classe) et private
(les membres ne sont accessibles qu'à l'intérieur de la classe). Le troisième spécificateur, protected
, est similaire à
private
, mais il est également accessible dans la
classe héritée :
Exemple
// 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;
}