C++ Encapsulation and Getters and Setters
C++ Encapsulation and Getters and Setters
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.
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 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
ADVERTISEMENT
https://www.w3schools.com/cpp/cpp_encapsulation.asp 2/6
1/26/24, 10:23 PM C++ Encapsulation and Getters and Setters
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
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
ADVERTISEMENT
ADVERTISEMENT
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
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.
https://www.w3schools.com/cpp/cpp_encapsulation.asp 5/6
1/26/24, 10:23 PM C++ Encapsulation and Getters and Setters
W3.CSS.
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
https://www.w3schools.com/cpp/cpp_encapsulation.asp 6/6