shinoby87
07-06-2008, 11:47
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.
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.