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;
}
⚠️ **GitHub.com Fallback** ⚠️