In your code above there are 2 functions. 1 to set the value and the other o return the value.
>Couldnt you just make one function in class Example that returns the value of value?
Doesn't the value need to be set before being returned?
About private members;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
class MyClass
{
public:
void manipulateData()
{
data = data + 1;
}
int data;
};
int main()
{
MyClass obj;
obj.data = obj.data - 5;
return 0;
}
| |
obj has all access (root) access to data and can do all sorts of manipulations on it.
We don't want the kind operation done on data by
obj (data = data - 5)
The only manipulation we want on data is provided by
manipulateData which does an increment by 1 on the data.
The only way we can enforce this is to make data
private by which
obj will only access data via
manipulateData which follows the conventions we have imposed on data manipulation.
In OOP, A class should have
private data which is maniulated by functions, methods or procedures.