To enhahce code readibility, C++ programmers sometime prefer property code(getter, setter) to access member function. Here is a sample code.


class Person
{
protected:
  int m_age;
public:
  __declspec(property (get=getAge, put=setAge)) int age;
  int  getAge()          { return m_age;  }
  void setAge(int value) { m_age = value; }
};

int main()
{
  Person person;
  person.age = 33;            // setAge() is called
  cout << person.age << endl; // getAge() is called.
}



* age, getAge() and setAge() have to be declared in public zone in the class.