Access specifiers define the accessibility or visibility of class members (variables and functions) in C++.
#include <iostream> using namespace std; class MyClass { public: int publicVar; private: int privateVar; protected: int protectedVar; public: void setValues(int pub, int priv, int prot) { publicVar = pub; privateVar = priv; protectedVar = prot; } void printValues() { cout << "Public: " << publicVar << endl; cout << "Private: " << privateVar << endl; cout << "Protected: " << protectedVar << endl; } }; int main() { MyClass obj; obj.publicVar = 10; // Allowed // obj.privateVar = 20; // Error: privateVar is private // obj.protectedVar = 30; // Error: protectedVar is protected obj.setValues(10, 20, 30); // Allowed obj.printValues(); return 0; }
publicVar
is accessible directly outside the class.privateVar
and protectedVar
cannot be accessed directly outside the class.setValues()
and printValues()
.protected
members are accessible in derived classes, unlike private
members.
Help others discover Technorank Learning by sharing your honest experience.
Your support inspires us to keep building!