Sto facendo un programma con più tipi di alberi binari in esso. Così ho deciso di fare una lezione astratta, per evitare di copiare il codice. Ma c'è un problema, i nodi di ogni albero devono contenere figli dello stesso tipo del nodo stesso. C'è qualche mezzo per definirlo in astratto, o dovrei semplicemente fare classi diverse per ogni tipo, dopo tutto?Astratto con ereditario come campo
public abstract class BinaryNodeAbstract<T>
{
public T Value;
public BinaryNodeAbstract<T> Left;
public BinaryNodeAbstract<T> Right;
In questo modo, i nodi potrebbero essere di qualsiasi tipo BinaryNode. Questo è ciò che deve essere evitato.
aggiungere 'dove T: BinaryNodeAbstract', ma può essere solo una soluzione parziale –
Quindi cosa c'è di sbagliato con l'implementazione? Sembra solo buono. –
Cosa c'è di sbagliato in ciò che hai? E ha anche bisogno di essere astratto? – bornfromanegg