Acho que devo estar trabalhando muito, mas no momento não consigo imaginar uma solução para o que eu quero fazer:
Tenho uma classe CBancoDeDados que tem métodos como por exemplo:
SalvaCadastroUsuario
BuscaCadastroUsuario
Ela por sua vez tem que chamar métodos especificos para cada Banco de Dados, como por exemplo:
OpenDB;
Execute;
GetLastError;
CreateDataBase;
Mas todos esses métodos tem os mesmos nomes para cada suporte ao DB que eu irei fazer:
MySQL
SQL
SQLite
Por exemplo
Como eu faria na minha classe DataBase para ter uma variavel apontando para o correto Banco de Dados e dai eu não precisar fazer algo do tipo:
if(SQLite_flag == 1)
//executa SQLite
else if(SQL_flag == 1)
// executa SQL
else
//executa MySQL
Lembrem-se: Todas as classes referentes aos Banco de Dados tem o mesmo nome. Eu queria algo do tipo na inicializacao:
void *handle;
if(SQLite_flag == 1)
handle = SQLite
else if(SQL_flag == 1)
handle = SQL
else
handle = MySQL
E dai quando fizer um Connect eu apenas faria:
handle->Connect();
Pois todas as classes teriam o mesmo nome.
Espero que tenham entendido!

PS: Tentei usar o void *, mas está dando um erro muito estranho.
Obrigado,
Joao