Buonasera.
Ho due dubbi riguardo a questo codice:
I miei dubbi sono:codice:class NomeClasse; typedef unsigned int nometipo; class NomeClasse { public: //Inizializzazione Prototipo(); Prototipo(char c); Prototipo(char c, int i); Prototipo(const char *str); ... }
1. Non capisco perché nell'esempio venga scritto "class NomeClasse;" all'inizio... a che serve? A caricare i typedef? Serve per "pre-caricare la classe"? E per quale motivo?
2. Nell'inizializzazione della classe mi ritrovo con dei prototipi con lo stesso nome ma che accettano argomenti diversi... quello che non capisco è: come fa il compilatore a non confondersi? "Acchiappa" al volo il prototipo che accetta gli argomenti come quelli che gli sono stati passati? Oppure serve a qualche altra cosa che non sò?
Grazie in anticipo.