Does functions of a C++ class have only one copy for all objects?
<p>Does the normal  functions (and not the static ones) have only one copy for a class in C++, meaning that all the objects refer to the same copy. If so what is the difference between normal function and static function. Also, my teacher was saying that we cannot call static functions of a class using "(object_name).(func_name)" notation but have to call it using the "class_name::(func_name)", while I understand that this is the logical thing to do, but as far as the language is concerned, am I not allowed to call a static function using (object_name).(func_name) notation? Finally, cannot I initialize the static data members of a class in the constructor of the class or inside any other function of that class, but have to do so from outside  the class?</p>
