Olá galera, insiro meu primeiro post no fórum, agradeço desde já a todos por participar juntamente com todos.  O que acontece, montei uma classe para mysql, no qual faço conexão, possui alguns métodos por enquanto que são conectar, consultar, menu. o que acontece é que quando seleciono a opção de consulta, ele em vez de parar na linha cin.getline para inserir uma consulta (tipo select...) ele passa direto e não dá opção de digitar. Só consigo fazer ele parar para eu digitar, quando passo parametro ";" no cin.getline (query,256,';'); quando deixo cin.getline (query,256); ele passa batido.  alguém saberia o que pode ser? Abaixo o código que estou usando.  ARQ bancoDB.cpp ============  #include <windows.h>
#include "bancoDB.hpp"
#include <mysql/mysql.h>
#include <iostream>
using namespace std;
// parametros da conexao com o BD
BancoDB::BancoDB()
: host("localhost"),user("root"),pass(""),database("petrobras")
{};
// destrutor da classe
BancoDB::~BancoDB(){};
void BancoDB::menu() {
    cout << "Banco de Dados\n";
    cout << "==============\n\n";
    cout << "1 - Consultar\n";
    cout << "2 - Sair\n";
    cout << "Digite o numero do que deseja acessar: ";
};                        
// metodo para conectar ao banco 
void BancoDB::conectar() {
    MYSQL *sock;
    sock= mysql_init(NULL);
    sock = mysql_real_connect(sock, host.c_str(), user.c_str(), pass.c_str(), database.c_str(),0,NULL,0);
    conexao = sock;
    if (conexao) {
        printf("sock ok!\n");
    }
    else {
         printf ("Handle falhou!\n");
    }
};
//metodo para efetuar consulta no Banco
void BancoDB::consultar() {
    //variaveis usadas no programa para retornar resultados da pesquisa
    MYSQL_RES *result;
    MYSQL_ROW row;
    int i;
    int loop;
    // pega dados de input
    system("cls");
    cout << "Banco de Dados\n";
    cout << "==============\n\n";
    cout << "Digite sua QUERY: ";
    cin.getline (query,256,';');
    // executa letras maiuscula para minuscula 
    for (loop = 0; query[loop] !=0; loop++)
    query[loop] = toupper(query[loop]);
    // condicao para consulta
    if(mysql_query(conexao,query)) {
        printf("===Foi encontrado um erro na query===");
        cout << "\n";
        cout << "ERRO: ===============================\n";
        cout << mysql_error(conexao) << "\n";
        cout << "=====================================";
    }
    else {
        result = mysql_store_result(conexao);
        if (result) {
            while ((row = mysql_fetch_row(result)) != NULL) {
                for (i=0; i < mysql_num_fields(result); i++) {
                    if ((row[i] != NULL) && (row[i] != ""))
                       printf(" %s ||", row[i]);
                }
                printf("\n");
            } 
        }
    }
    cout << "\n\n";
    system("pause");
};
int main() {
    // variavel para interacao no sistema
    int operador = 1;
    
    // variavel para guardar a query de consulta
    char sql[80];
    // criar objeto de conexao
    BancoDB minhaconexao;
    
    // executa conexao com o Banco
    minhaconexao.conectar();
    // operador = 0, encerra o programa
    while (operador!=0) {
        // limpa tela
        system("cls");
          
        //executa menu
        minhaconexao.menu();
        //captura numero selecionado
        cin >>(operador);
        // verifica qual opcao do menu deseja selecionar
        switch ( operador ){
     
            // ===== efetua a consulta ===== //      
            // ===>
            case 1:
                minhaconexao.consultar();
                operador = 1; 
                break;
            // <===
            // ===== efetua a consulta ===== //      
        
            // ===== sair ===== //      
            // ===>
            case 2:
                return 0; 
                break;
            // <===
            // ===== sair ===== //      
    
        default:
            operador = -1;
        }
    }
    
    // executa metodo da classe BancoDB
    minhaconexao.conectar();
    // executa consulta no banco
    minhaconexao.consultar();
    // executa pausa no sistema plataforma windows
    system("pause");
    // destroi a conexao
    minhaconexao.~BancoDB();
    
    // sai do sistema   
    return 0;   
}
ARQ bancoDB.hpp
============
#include <mysql/mysql.h>
#include <iostream>
class BancoDB
{
   private:
    std::string host;
    std::string user;
    std::string pass;
    std::string database;
    MYSQL *conexao;
    char *query;
      public:  
        BancoDB();
        ~BancoDB();
        void conectar();
        void consultar();
        void menu();
   };