Completamente falso: in C++ i prototipi non sono obbligatori per niente.
Cpp essendo ibrido ha, anche, le caratteristiche del c
Tipico esempio di funzione sempre definita e mai dichiarata è main().
Non hai visto molti sorgenti vero ?
codice:
... 

int main ();
int main ()
{
    ...
    return 0;
};
Si usa tantissimo.

Ridicolo è un parolone: sai perché quando guidi metti la freccia, per girare, anche se non c'è nessuno ?

Comunque, dimmi un po' tu come si legge meglio il codice:
codice:
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>

int x, a, b;

int Div(int a, int b);

int main()
{
    x= Div (5,2);
    cout<<x<<"\n";
    system ("Pause");
    return 0;
}

int Div(int a, int b) 
{
    if (b==0) return 0;
       return a/b;
}

///////////////////////////////////////////////

#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
 
int x, a, b;

int Div(int a, int b) 
{
    if (b==0) return 0;
       return a/b;
}

int main()
{  
    x= Div (5,2);
    cout<<x<<"\n";
    system ("Pause");
    return 0;
}