Sono confuso su come separare il codice di implementazione e dichiarazioni di una classe semplice in una nuova intestazione e file cpp. Ad esempio, come dovrei separare il codice per la classe seguente?Separazione del codice classe in un'intestazione e file cpp
class A2DD
{
private:
int gx;
int gy;
public:
A2DD(int x,int y)
{
gx = x;
gy = y;
}
int getSum()
{
return gx + gy;
}
};
Solo un paio di commenti: Il costruttore deve sempre utilizzare un elenco di inizializzazione invece di impostare i membri del corpo. Per una spiegazione buona e semplice, vedere: http://www.codeguru.com/forum/showthread.php?t=464084 Inoltre, almeno nella maggior parte dei luoghi, è consuetudine avere il campo pubblico in alto. Non influirà su nulla, ma dal momento che i campi pubblici sono la documentazione della tua classe, ha senso averlo in cima. – martiert
@martiert Avere 'public:' i membri in cima _could_ influenzano uno _lot_, se l'utente li sposta in base a questo consiglio - ma ha delle dipendenze di ordinamento tra i membri e non è ancora a conoscenza che i membri sono inizializzati nell'ordine della loro dichiarazione; -) –
@underscore_d che è vero. Ma poi di nuovo, stiamo compilando tutti gli avvertimenti come errori e tutti gli avvertimenti a cui possiamo pensare, giusto? Almeno questo ti dirà che stai rovinando tutto, ma si, la gente usa il modo di piccoli avvertimenti, e semplicemente li ignora :( – martiert