Programmazione orientata agli oggetti in ANSI-C. Implementazione – esercizi

Tecnicamente, i selettori delle superclassi possono essere usati solamente da metodi interni. Decidiamo di non controllare i parametri dei selettori della superclasse. E' davvero una saggia decisione.

Crediamo che un puntatore identifichi un oggetto se l'oggetto inizia con un numero magico. E' una soluzione poco economica perchè incrementa la dimensione di ogni oggetto. Possiamo richiedere solamente che una descrizione di classe debba iniziare con un numero magico?

La parte fissa di una descrizione di classe (nome, superclasse e dimensione) può essere protetta tramite un checksum. Deve essere scelto attentamente per permettere l'inizializzazione statica di Class e Object.

Cast() duplica l'algoritmo di IsOf(). IsOf() Può essere cambiato così che la implementazione naif di cast() può essere usata e non incappare nella ricorsione infinita?

Cast() è la nostra funzione più importante per produrre i messaggi di errore. Piuttosto che una semplice assert() i messaggi possono contenere il punto della chiamata, la classe attesa e la classe attualmente fornita.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend