Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/09/2010, 04:36
abadosa
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Duda sobre plantillas

Gracias! Es un poco lo que había pensado aunque...

Entiendo por vuestras respuestas que es imposible hacer que las "Chains" tengan Genes con el "value" de cualquier tipo indefinido. Tiene que ser siempre especificado en la creación del vector, como por ejemplo:

Código:
typedef vector<Gen<int> > Chain;
Vamos, no se puede hacer nada parecido que con Java, en el que podría usar Object.

EDITO -> Igual podría utilizar una "union" que contenga todos los tipos de datos que puede tomar General, pasar de los templates, y usar un discriminador dentro de la "union" para indicar a qué tipo de datos pertenece un valor. Algo así:

Código:
enum eGeneral { i, b, f, d, c };

struct General {
	eGeneral type;

	union {
		int iValue;
		bool bValue;
		float fValue;
		double dValue;
		char cValue;
	};
};

struct Gen {
	string name;
	General value;
};

typedef vector<Gen> Chain;


class Genoma {
protected:
	Chain genotype[2];

public:
	Genoma();
};

Última edición por abadosa; 15/09/2010 a las 04:54