Declarar variables usando el valor de la variable de un String, ¿es posible?

Darkendymion
23 de Septiembre del 2009
Buenos dias,

Mirad , me encuentro con el problema de querer declarar un tipo de variable en funcion del String que me recibe una funcion. Es algo del estilo:

if (!AnsiStrCompare((AnsiString )"Emision",concepto)) {
Emision *m = new Emision;
}

else if (!AnsiStrCompare((AnsiString )"Energia",concepto)) {
Energia *m = new Energia;
}

¿Hay alguna manera para usar el valor de la variable 'concepto' para ahorrarse todos los condicionales?
Algo del estilo:

concepto *c = new concepto;

Por supuesto ésto último no funciona. Desconozco si existe un método para hacer ésto: quizas sacando el valor del string con cout; no lo se. Muchas gracias :/