|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
[c++] Metodi virtuali puri get
In Una gerarchia di classi posso inserire una classe astratta che contiene metodi get e set tutti virtuali puri?
Cioè virtual =0 non definiti Ha senso? Nel caso, vanno inserite le variabili private nella classe astratta oppure vanno inserite nella classe che eredita la classe astratta? |
![]() |
![]() |
![]() |
#2 | ||
Senior Member
Iscritto dal: May 2001
Messaggi: 12840
|
Quote:
In generale non puoi istanziare oggetti di una classe astratta. È tuttavia possibile ereditare una classe astratta, estenderne l'interfaccia o implementare i metodi virtuali in maniera che diventi "concreta". Avere tutti i metodi virtuali puri di fatto significa che la tua classe costituisce una interfaccia. Ha perfettamente senso ![]() Quote:
In linea di massima, dal mio punto di vista, se hai tutti metodi virtuali puri (classe interfaccia) non ha senso inserire una proprietà comune. Ha senso farlo se hai almeno un metodo che lo usa (che non siano i semplici get/set). Dopodiché dipende da caso a caso. Ultima modifica di WarDuck : 12-07-2015 alle 08:38. |
||
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
E i metodi virtual get() = 0 possono essere const?
Cosi ad esempio: virtual string getNome() const = 0 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:52.