Quote:
Originariamente inviato da !k-0t1c!
Il caso più banale è quello dell'ereditarietà multipla.
|
E dove starebbe il problema? Non sei mica obbligato ad usarla. Non lo vedo certo come un problema per l'utilizzo delle interfacce in C++, specialmente nel caso in esame.
Quote:
Con il fatto che in C++ non esiste il concetto di interfaccia uno potrebbe modificare la classe usata come interfaccia e fornire implementazioni che non sono coerenti con tutte le classi che ereditano dall'interfaccia stessa e che potrebbero venire inavvertitamente usate da altro codice causando bug di difficile individuazione.
|
Se uno lo fa evidentemente sa a cosa va incontro.
E perchè mai uno non potrebbe creare l'interfaccia e poi una classe base per le implementazioni dell'interfaccia ed ereditare da quella classe?
Avresti lo stesso problema? No.
Ancora una volta non vedo il problema, nè tanto meno applicato al caso in esame.
Quote:
Un altro scenario molto banale: RTTI per testare la presenza o meno di un'interfaccia...
Ce ne sono molti altri, più o meno insidiosi.
|
A che serve testare la presenza di un'interfaccia tramite typeid?
Basta usare dynamic_cast se quanto ottenuto è NULL allora non c'è.
Inoltre non credo che in questo caso verrà mai usato in una qualunque forma RTTI.