Ir para conteúdo
Fórum Script Brasil
  • 0

Developer Studio 2006


Vraptor

Pergunta

Boa noite pessoal.

Estou fazendo alguns testes com o Builder C++ do Developer Studio 2006.

Vejam bem:

Declarei 2 métodos com nomes iguais, um em cada classe.

Quando vou digitar o operador de resolução de escopo para me referir a tal metodo membro de tal classe o Builder não está sugerindo a auto implementação ao contrário do Visual Studio da Microsoft.

alguém poderia dar uma dica para ativar este recurso.

Abraços, Daniel.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

E ai Graymalkin.

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include <iostream>

using namespace std;

//---------------------------------------------------------------------------

#pragma argsused

class Carro

{

public:

Carro( char * , char *);

char Marca[12];

char Modelo[7];

void Exibe();

};

//----Derivada

class Novo_Carro : public Carro

{

public:

Novo_Carro( char *, char *, int, char *, float);

void Exibe_Tudo();

void Exibe();

private:

int AnoFab;

char Placa[9];

float Valor;

};

Carro::Carro( char * Marca1, char * Modelo1 ) //Construtor Classe Base

{

strcpy(Marca, Marca1);

strcpy(Modelo, Modelo1);

}

//---Construtor da derivada

Novo_Carro::Novo_Carro(char * Marca1, char * Modelo1, int AnoFab1,

char * Placa1, float Valor1):Carro(Marca1, Modelo1)

{

AnoFab = AnoFab1;

strcpy(Placa, Placa1);

Valor = Valor1;

}

int main(int argc, char* argv[])

{

Novo_Carro NCarro("Ford", "Focus", 2002, "NUL-3333", 35000.);

NCarro.Exibe_Tudo();

cout << "\n\n\n";

NCarro.Carro::Exibe(); //<= *****************

NCarro.Exibe(); // <=****************************

cin.get();

return 0;

}

//---------------------------------------------------------------------------

void Novo_Carro :: Exibe_Tudo()

{

cout << "\nMarca: " << Marca;

cout << "\nModelo: " << Modelo;

cout << "\nAno: " << AnoFab;

cout << "\nPlaca: " << Placa;

cout << "\nValor: " << Valor;

}

//---------------------------------------

void Novo_Carro::Exibe()

{

cout << "\nEste é da classe derivada !";

cout << "\nMarca: " << Marca;

cout << "\nModelo: " << Modelo;

}

//---------------------------------------

void Carro::Exibe()

{

cout << "\nEste é da classe base !";

cout << "\nMarca: " << Marca;

cout << "\nModelo: " << Modelo;

}

Fiz uma observação melhor.

No Builder na inserção do seletor direto de membro "No Objeto da classe derivada" ele auto sugere todos membros incluse da classe base.

NCarro.Exibe()

.Aqui ele sugere membros e funções mostrando a que classe(Base ou Derivada) pertence!

Ok..até ai.

Veja bem:

NCarro.Carro::Exibe(); // Metodo da classe Carro - Base

NCarro.Exibe(); // Aceitando a sujestão e selecionando o método da classe Carro - Base

Veja a saida !!

Este é da classe base !

...

...

Este é da classe derivada !

..

..

A saida teria de ser:

Este é da classe base !

...

...

Este é da classe base !

...

...

Ok !!

Outra.

Nesta linha:

NCarro.Carro::Exibe();

Em ambos os operadores acontece a auto sujestão de codigo no Visual Studio.

Já no Builder só acontece no operador seletor direto de membro.

Trocando em miudos a duvida que paira é em relação a auto sujestão de código na hora de utilizar o operador de resolução de escopo no caso a cima, 2 métodos com nomes iguais em classes Base e Derivada.

Sem querer folgar, teria como voçê dar uma olhadinha em outro post com o nome de Units ?

Novamente agradeço muito sua disposição em esclarecer dúvidas.

Abraços, Daniel.

Link para o comentário
Compartilhar em outros sites

  • 0

Objeto.Método

Como existem métodos com nomes iguais nas classes base e derivada então:

Objeto.Classe::Metodo

Não existe ponteiros, somente variaveis.

Ele não mostra nada usando o ->, só que é de se esperar pois eu não estou utilizando ponteiros. Correto ?

Só se já criaram uma outra maneira que saia fora da maneira de penssar como C++.

É meu colega, é de se frustrar.

Uma referência a criação de ambientes visuais nen fazer uma pesquisa quando se insere o operador ::.

E os arquivos header..Que loucura !!

Não sei como a Borland conseguiu fazer isso.

Não tem nada a ver com visual C++, "Dev-C++" ou "Code::Blocks" ou até mesmo com "gcc no linux".

A lógica seria aceitar a inclusão dos headers criados pelo programador,normalmente...sem problemas.

Tudo bem...falta de prática..só que poderia ser uma pouquinho mais facil.

Valeu a intenção..

Abraços, Daniel.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...