Accessor functions
#include <iostream>
class MyClass {
public: // begin public section
int getInt(); // accessor function
void setint (int age); // accessor function
void display(); // general function
private: // begin private section
int itsAge; // member variable
};
int MyClass::getInt()
{
return itsAge;
}
void MyClass::setint(int age)
{
itsAge = age;
}
void MyClass::display()
{
std::cout << "display.\n";
}
int main()
{
MyClass obj;
obj.setint(5);
obj.display();
std::cout << obj.getInt() << " years old.\n";
obj.display();
return 0;
}
display.
5 years old.
display.
Access private data through accessor functions.
#include <iostream>
#include <cstring>
using namespace std;
class Shape {
// private
double width;
double height;
public:
void display() {
cout << "Width and height are " << width << " and " << height << "\n";
}
// accessor functions
double getWidth() { return width; }
double getHeight() { return height; }
void setWidth(double w) { width = w; }
void setHeight(double h) { height = h; }
};
// Triangle is derived from Shape.
class Triangle : public Shape {
public:
char style[20];
double area() {
return getWidth() * getHeight() / 2;
}
void showStyle() {
cout << "Triangle is " << style << "\n";
}
};
int main() {
Triangle t1;
Triangle t2;
t1.setWidth(4.0);
t1.setHeight(4.0);
strcpy(t1.style, "isosceles");
t2.setWidth(8.0);
t2.setHeight(12.0);
strcpy(t2.style, "right");
t1.showStyle();
t1.display();
cout << "Area is " << t1.area() << "\n";
t2.showStyle();
t2.display();
cout << "Area is " << t2.area() << "\n";
return 0;
}
Triangle is isosceles
Width and height are 4 and 4
Area is 8
Triangle is right
Width and height are 8 and 12
Area is 48