Premetto che la mia attività in ambito informatico ha riguardato principalmente la programmazione in c/c++ per l'implementazione di algoritmi numerici (matematica/ingegneria). Avendo la necessità di creare un interfaccia grafica attorno alle formule usate, ho deciso di scrivere il codice numerico in c/c++ e collegarlo con una dll in ambiente vb.net, molto comodo per creare pulsanti, bottoni, finestre, etc... la cosa sembra funzionare abbastanza bene.
Avrei però il seguente problema, derivante probabilmente dal fatto che ragiono ancora in linguaggio c, in cui il concetto di puntatore è fondamentale, mentre in vb.net mi sono reso conto che un puntatore è qualcosa dalla definizione sfuggevole (l'unico puntatore vero è il tipo intptr, che però non è associato ad un tipo).
Dovrei definire una classe i cui membri sono dei puntatori ad altre classi.
Per chiarire meglio la cosa, faccio l'esempio di come rappresentare un grafo. Un grafo è un insieme di nodi (collocati ad esempio in un piano) e di linee che collegano due nodi. Ovviamente non è detto che due nodi siano collegati da una linea.
Ecco come avrei risolto la cosa in c++
I nodi all'interno della linea sono dei puntatori in quanto quei nodi possono appartenere anche ad altre linee. Inoltre in c++ tramite l'operatore -> posso accedere facilmente ai dati appartenenti ai nodi della linea.codice:class nodo { double x //coordinata x double y //coordinata y ... //funzioni e altri membri per lavorare con il nodo } class linea { nodo* nodo1 nodo* nodo2 ... //funzioni e altri membri per lavorare con la linea }
Si può rappresentare un grafo in vb.net in maniera simile al modo che ho proposto in c++?

Rispondi quotando