“Setter” and “Getter” Member Functions

“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{public: 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{public: 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.

See also  Does It Make Sense to Splurge on a Laptop?

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist