#include <fstream>
#include <vector>
#include "PreguntaSeleccionUnica.h"
#include "PreguntaAbierta.h"

using namespace std;

Pregunta* crearPregunta(const string& tipo)
{
	if ( tipo == "abierta" ) return new PreguntaAbierta();
	if ( tipo == "seleccion_unica" ) return new PreguntaSeleccionUnica();
	return 0;
}

int main()
{
	vector<Pregunta*> preguntas;
	string tipo;

	ifstream archivo("preguntas.txt");
	while ( archivo >> tipo )
	{
		archivo.ignore();
		Pregunta* pregunta = crearPregunta(tipo);
		archivo >> *pregunta;
		preguntas.push_back(pregunta);
	}
	archivo.close();

	for ( size_t i = 0; i < preguntas.size(); ++i )
		cout << * preguntas[i] << endl;

	for ( size_t i = 0; i < preguntas.size(); ++i )
		delete preguntas[i];

	return 0;
}
