Sto cercando di implementare un algoritmo di ricerca di grafi generici in C ++, come parte del compito all'università, e ho riscontrato problemi durante il tentativo di implementarlo, principalmente in difficoltà con i modelli. questo è l'UML di base di ciò che sto cercando di implementare
Attualmente ho implementato il bfs, ma il nostro istruttore ci ha detto che potrebbe essere richiesto di cambiare l'algoritmo, ho creato l'interfaccia GraphAlgorithm che avrà la funzione findPath, che restituisce il vettore di GraphNodes. Il problema è che, poiché GraphNode è una classe template, devo fornire il tipo di modello all'algoritmo, ma l'algoritmo non ha nulla a che fare con il tipo di dati, funziona con i nodi e non usa i dati in alcun modo. In seguito, però, ho bisogno di accedere ai dati all'interno di GraphNodes. Ritengo che questo sia un cattivo progetto, creando un'istanza dell'algoritmo e fornendogli il tipo di nodi su cui sta cercando.
Ho provato a cercare un contenitore di dati generico sicuro per il tipo in C ++ senza utilizzare quei dannati modelli e non ho trovato nulla.
C'è qualche alternativa per questa necessità? principalmente, GraphNode mantiene l'oggetto Point (non specificato in UML sopra), ma di nuovo, preferisco rendere generico GraphNode.
In che modo tu ragazzi lo implementerai?