<P> In a prototype, parameter names are optional (and in C / C++ have function prototype scope, meaning their scope ends at the end of the prototype), however, the type is necessary along with all modifiers (e.g. if it is a pointer or a const parameter). </P> <P> In object - oriented programming, interfaces and abstract methods serve much the same purpose . </P> <P> Consider the following function prototype: </P> <P> First of all function prototype includes the function signature, the name of the function, return type and access specifier . In this case the name of the function is "main". The function signature determines the number of parameters and their types . In the above example, the return type is "void". This means that the function is not going to return any value . In this example, the access specifier is "Public", which means that the functions is globally accessible by any part of the program . </P>

When is a function prototype used and where