Guarda senza offesa ma stai cercando di fare qualcosa di molto più complesso di quel che credi, anche se, naturalmente, è molto interessante.
Personalmente creai, quasi per sport, un'intera libreria per programmare in C in modo molto OOP, seguendo naturalmente delle tecniche ben conosciute e ben spiegate in questo pdf:
https://www.cs.rit.edu/~ats/books/ooc.pdf
Non è warez o altro, come vedete non è nemmeno un libro ma una specie di raccolta di tecniche di programmazione in ANSI C per ottenere un accettabile livello di object oriented programming.
E' stato scritto nel 1993 ma è ancora attualissimo.
Ora, ripeto, può essere molto istruttivo seguire quel libro e ampliare le conoscenze lì acquisite e creare una propria libreria personale ma, una volta finito, ti accorgerai che in realtà è inutile, solo un cosa per sport.
Se vuoi programmare OOP il C non è il linguaggio adatto.
Certo puoi avere uno stile che "ricorda vagamente" la programmazione OOP, ma molto vagamente, il resto è solo una complicazione e perdita di prestazioni.
Ciò non toglie che è molto istruttivo e anche divertente (dipende dal tuo concetto di divertimento ma per me lo è stato).
Morale del discorso, quel che cerchi di fare è molto più complesso di una typedef e di due puntatori a funzione in una struct.
Se vuoi ottenere un risultato accettabile la strada è molto più lunga, istruttiva, divertente ma inutile, e io te l'ho mostrata, ora sta a te decidere cosa fare.
Personalmente creai, quasi per sport, un'intera libreria per programmare in C in modo molto OOP, seguendo naturalmente delle tecniche ben conosciute e ben spiegate in questo pdf:
https://www.cs.rit.edu/~ats/books/ooc.pdf
Non è warez o altro, come vedete non è nemmeno un libro ma una specie di raccolta di tecniche di programmazione in ANSI C per ottenere un accettabile livello di object oriented programming.
E' stato scritto nel 1993 ma è ancora attualissimo.
Ora, ripeto, può essere molto istruttivo seguire quel libro e ampliare le conoscenze lì acquisite e creare una propria libreria personale ma, una volta finito, ti accorgerai che in realtà è inutile, solo un cosa per sport.
Se vuoi programmare OOP il C non è il linguaggio adatto.
Certo puoi avere uno stile che "ricorda vagamente" la programmazione OOP, ma molto vagamente, il resto è solo una complicazione e perdita di prestazioni.
Ciò non toglie che è molto istruttivo e anche divertente (dipende dal tuo concetto di divertimento ma per me lo è stato).
Morale del discorso, quel che cerchi di fare è molto più complesso di una typedef e di due puntatori a funzione in una struct.
Se vuoi ottenere un risultato accettabile la strada è molto più lunga, istruttiva, divertente ma inutile, e io te l'ho mostrata, ora sta a te decidere cosa fare.