1/26/24, 10:23 PM C++ Encapsulation and Getters and Setters
Tutorials Exercises Services Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
C++ Encapsulation
❮ Previous Next ❯
Encapsulation
The meaning of Encapsulation, is to make sure that "sensitive" data is hidden from
users. To achieve this, you must declare class variables/attributes as private
(cannot be accessed from outside the class). If you want others to read or modify the
value of a private member, you can provide public get and set methods.
Access Private Members
To access a private attribute, use public "get" and "set" methods:
Example
#include <iostream>
using namespace std;
class Employee {
private:
// Private attribute
int salary;
public:
// Setter
void setSalary(int s) {
salary = s;
}
https://www.w3schools.com/cpp/cpp_encapsulation.asp 1/6
1/26/24, 10:23 PM C++ Encapsulation and Getters and Setters
// Getter
Tutorials
int Exercises
getSalary() { Services Sign Up Log in
return salary;
HTML
}CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
};
int main() {
Employee myObj;
myObj.setSalary(50000);
cout << myObj.getSalary();
return 0;
}
Try it Yourself »
Example explained
The salary attribute is private , which have restricted access.
The public setSalary() method takes a parameter ( s ) and assigns it to the salary
attribute (salary = s).
The public getSalary() method returns the value of the private salary attribute.
Inside main() , we create an object of the Employee class. Now we can use the
setSalary() method to set the value of the private attribute to 50000 . Then we call
the getSalary() method on the object to return the value.
Why Encapsulation?
It is considered good practice to declare your class attributes as private (as
often as you can). Encapsulation ensures better control of your data, because
you (or others) can change one part of the code without affecting other parts
Increased security of data
❮ Previous Log in to track progress Next ❯
ADVERTISEMENT
https://www.w3schools.com/cpp/cpp_encapsulation.asp 2/6
1/26/24, 10:23 PM C++ Encapsulation and Getters and Setters
Tutorials Exercises Services Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
Driving mobility
sponsored by: Mitsubishi E…
READ MORE
COLOR PICKER
https://www.w3schools.com/cpp/cpp_encapsulation.asp 3/6
1/26/24, 10:23 PM C++ Encapsulation and Getters and Setters
Tutorials Exercises Services Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
ADVERTISEMENT
Enabling comfortable living
sponsored by: Mitsubishi Electric
ADVERTISEMENT
SPACES UPGRADE AD-FREE
NEWSLETTER GET CERTIFIED
REPORT ERROR
Top Tutorials
HTML Tutorial
CSS Tutorial
JavaScript Tutorial
How To Tutorial
SQL Tutorial
https://www.w3schools.com/cpp/cpp_encapsulation.asp 4/6
1/26/24, 10:23 PM C++ Encapsulation and Getters and Setters
Python Tutorial
W3.CSS Tutorial
Tutorials Exercises
Bootstrap Tutorial
Services Sign Up Log in
PHP Tutorial
HTML
CSS JavaJAVASCRIPT
Tutorial SQL PYTHON JAVA PHP HOW TO W3.CSS C
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
Top Examples Get Certified
HTML Examples HTML Certificate
CSS Examples CSS Certificate
JavaScript Examples JavaScript Certificate
How To Examples Front End Certificate
SQL Examples SQL Certificate
Python Examples Python Certificate
W3.CSS Examples PHP Certificate
Bootstrap Examples jQuery Certificate
PHP Examples Java Certificate
Java Examples C++ Certificate
XML Examples C# Certificate
jQuery Examples XML Certificate
FORUM ABOUT
W3Schools is optimized for learning and training. Examples might be simplified to
improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we
cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted our
terms of use, cookie and privacy policy.
Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by
https://www.w3schools.com/cpp/cpp_encapsulation.asp 5/6
1/26/24, 10:23 PM C++ Encapsulation and Getters and Setters
W3.CSS.
Tutorials Exercises Services Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
https://www.w3schools.com/cpp/cpp_encapsulation.asp 6/6