Access Specifiers - heshawacooray/OOP-Heshawa GitHub Wiki
Definition: Access specifiers are keywords in C++ that define the access control of class members (variables and methods). The three main access specifiers are:
- public: Members are accessible from outside the class.
- private: Members are accessible only within the class.
- protected: Members are accessible within the class and derived classes.
Access Specifier | Description | Access Level |
---|---|---|
public | Members are accessible from anywhere | Accessible from outside the class |
private | Members are hidden from outside | Accessible only within the class |
protected | Members are accessible in derived classes | Accessible within the class and derived classes |
Example code:
#include <iostream>
using namespace std;
class Car {
public:
string brand; // Public member
private:
int year; // Private member
public:
void setYear(int y) {
year = y;
}
void display() {
cout << "Brand: " << brand << ", Year: " << year << endl;
}
};
int main() {
Car car;
car.brand = "Toyota"; // Accessible because brand is public
car.setYear(2020); // Accessing private member via a public method
car.display();
// car.year = 2020; // Error: year is private
return 0;
}