Access Specifiers
public, private, and protected
Interview Relevant: Encapsulation
Access Specifiers
Control visibility of class members.
Code Examples
Access control with public, private, protected.
cpp
1class MyClass {
2public:
3 int publicVar; // Accessible everywhere
4 void publicMethod();
5
6private:
7 int privateVar; // Only accessible within class
8 void privateMethod();
9
10protected:
11 int protectedVar; // Accessible in class and derived classes
12 void protectedMethod();
13};
14
15// struct vs class
16struct MyStruct {
17 int x; // public by default
18};
19
20class MyClass2 {
21 int x; // private by default
22};
23
24// Friend can access private members
25class Secret {
26 int value = 42;
27 friend void reveal(const Secret& s);
28};
29
30void reveal(const Secret& s) {
31 cout << s.value; // OK - friend access
32}