Based on the comp.lang.c++.FAQ
Lexemes
Anotated Ref Manual C1990 Page 7
v->f(whatever)will call the version of f defined in D (if any) rather than B. In short this use of virtual indicates dynamic dispatching.
type f1(void);The compiler will not permit you to give f 1 any arguments. However
type f2();lets you put in any arguments you like....even if the result is rubbish.
Note. In C++, the above use of void is obsolete
type f2();indicates that no arguments are allowed and
type f2(...);that no checking takes place at all. Note:
type f3(arg1, arg2, ...);expects 2 or more arguments.
Note. In C++ the use of 'void*' for addresses of objects of an unknown type is still legal. It is nearly always better to use polymorphism or templates instead. Templates let the compiler generate the right code to handle the particular data that is being processed. Polymorphism (inheritance+virtual functions) delays the choice of operation until the function is called.
Type name(arguments) constthen it will not change the state of the object and can be safely applied to const arguments and variables of the type.
. . . . . . . . . ( end of section C++ Glossary) <<Contents | Index>>