|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 115
|
[C++] interfacce in C++
Salve a tutti, vorrei una delucidazione su come si implementano delle interfacce in C++
io ho creato una classe di questo tipo Codice:
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.
__________________
/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\ cpu:amd athlon xp 3000+ bus 400mhx || mobo: asrock k7v-upgrade-88||ram: 1 gb ddr 400mhz(256x4 in dual channel)||Hdd:80 gb s-ata 7200 rpm|| scheda video:Sapphire X800GTO AGP 256mb |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
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.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 115
|
Grazie mille per la risposta.
__________________
/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\ cpu:amd athlon xp 3000+ bus 400mhx || mobo: asrock k7v-upgrade-88||ram: 1 gb ddr 400mhz(256x4 in dual channel)||Hdd:80 gb s-ata 7200 rpm|| scheda video:Sapphire X800GTO AGP 256mb |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:53.


















