PDA

View Full Version : [C++] interfacce in C++


shinoby87
07-06-2008, 14:06
Salve a tutti, vorrei una delucidazione su come si implementano delle interfacce in C++

io ho creato una classe di questo tipo


Class IShape {
public
virtual void draw() = 0;
}

in questo modo dichiaro il late binding e l' "astrattezza" della funzione.

Nelle classi che estendono quest'ultima io definisco

class Figura1 : public IShape{
public:
virtual void draw();
}

void Figura1 draw() { //qualcosa };

La mia domanda è: devo per forza inserire nella dichiarazione della classe (che andrebbe in un header) la dichiarazione della funzione "virtual void draw();" ? In questo modo dovrei scrivere ogni volta tutte le funzioni dell'interfaccia nelle dichiarazioni delle classi, quando dovrebbero essere ereditate automaticamente.


Chiedo scusa per aver aperto il precedente thread in modo scorretto.

marco.r
07-06-2008, 14:43
Si', lo devi fare, perche' in questo modo dichiari precisamente quali metodi implementi: nulla vieta infatti di implementare solo una parte dei metodi (ottenengo cosi' una classe parzialmente astratta) e lasciare ad una sottoclasse il compito di implementare i mancanti.

shinoby87
07-06-2008, 15:21
Grazie mille per la risposta.