Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Tip of the Day
Language: C++
Expertise: Advanced
Nov 27, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

"Setter" and "Getter" Member Functions

Encapsulation is a fundamental principle in object orientation. Encapsulation restricts direct access to a data member of a class. Instead, users query the object itself in order to get or set its members' values. This is usually done by defining "getter" and "setter" member functions, which are also known as mutators and accessors, respectively. A "plain vanilla" setter returns void and takes one argument—the value to be assigned to an object's member. Setters and Getters are declared public. Consider the following class:

class Employee
 int id;

As setter of this class looks as follows:

class Employee
 void set_id(int n) {id=n;}

A classic getter returns a value and takes no arguments; it's declared as a const member function to document the fact that it only observes an object's state but doesn't change it. For example:

class Employee
 int get_id() const { return id;}

Usually, the implementation of setters and getters is trivial: they assign and return a value, respectively. Therefore, they are ideal candidates for inlining. Note however that because they are often defined inside the class body, the inline specifier is redundant, unless you can move the definition outside the class body.

Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date