My question is what kind of method should i use for changing my membervariables in memberfunctions. So far theres 3 different methods that are same, so what should i choose?
In my opinion the first method is the method of choice. Your member function has full access to all members of your class so no access specifiers should be required. In my opinion you should rarely need the "this->" method if you use proper unique variable and parameter names. The scope operator:: should be reserved primarily for use when you need to specify a member variable from a base class.