C++ Access Specifiers
C++ Access Specifiers
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
Access Specifiers
By now, you are quite familiar with the public keyword that appears in all of our
class examples:
Example
class MyClass { // The class
public: // Access specifier
// class members goes here
};
Try it Yourself »
The public keyword is an access specifier. Access specifiers define how the
members (attributes and methods) of a class can be accessed. In the example above,
the members are public - which means that they can be accessed and modified
from outside the code.
However, what if we want members to be private and hidden from the outside world?
https://www.w3schools.com/cpp/cpp_access_specifiers.asp 1/6
1/26/24, 10:23 PM C++ Access Specifiers
Example
class MyClass {
public: // Public access specifier
int x; // Public attribute
private: // Private access specifier
int y; // Private attribute
};
int main() {
MyClass myObj;
myObj.x = 25; // Allowed (public)
myObj.y = 50; // Not allowed (private)
return 0;
}
error: y is private
Try it Yourself »
Note: It is possible to access private members of a class using a public method inside
the same class. See the next chapter (Encapsulation) on how to do this.
Tip: It is considered good practice to declare your class attributes as private (as often
as you can). This will reduce the possibility of yourself (or others) to mess up the
code. This is also the main ingredient of the Encapsulation concept, which you will
learn more about in the next chapter.
Note: By default, all members of a class are private if you don't specify an access
specifier:
https://www.w3schools.com/cpp/cpp_access_specifiers.asp 2/6
1/26/24, 10:23 PM C++ Access Specifiers
Tutorials
Example
Exercises Services Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
class MyClass {
int x; // Private attribute
int y; // Private attribute
};
ADVERTISEMENT
https://www.w3schools.com/cpp/cpp_access_specifiers.asp 3/6
1/26/24, 10:23 PM C++ Access Specifiers
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
COLOR PICKER
ADVERTISEMENT
ADVERTISEMENT
https://www.w3schools.com/cpp/cpp_access_specifiers.asp 4/6
1/26/24, 10:23 PM C++ Access Specifiers
HTML
CSS
SPACES
JAVASCRIPT SQL
UPGRADE
PYTHON JAVA
AD-FREE
PHP HOW TO W3.CSS C
REPORT ERROR
Top Tutorials
HTML Tutorial
CSS Tutorial
JavaScript Tutorial
How To Tutorial
SQL Tutorial
Python Tutorial
W3.CSS Tutorial
Bootstrap Tutorial
PHP Tutorial
Java Tutorial
C++ Tutorial
jQuery Tutorial
Top References
HTML Reference
CSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference
https://www.w3schools.com/cpp/cpp_access_specifiers.asp 5/6
1/26/24, 10:23 PM C++ Access Specifiers
HTML
CSS JAVASCRIPT
SQL
FORUM PYTHON
ABOUT JAVA PHP HOW TO W3.CSS C
https://www.w3schools.com/cpp/cpp_access_specifiers.asp 6/6