C++ Overerving Toegang
Toegangsspecificaties
U hebt uit het hoofdstuk Access Specifiers geleerd dat er drie specificaties beschikbaar zijn in C++. Tot nu toe hebben we alleen public
(leden van een klas zijn toegankelijk van buiten de klas) en private
(leden zijn alleen toegankelijk binnen de klas) gebruikt. De derde specificatie, protected
, is vergelijkbaar met
private
, maar is ook toegankelijk in de
overgeërfde klasse:
Voorbeeld
// 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;
}