Ir ao conteúdo

Boa Prática de Programação em C++


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

Olá pessoal, estou estudando C++ e gostaria de uma esclarecimento com relação a implementação dos métodos pertencentes a uma determinada classe.

Até o momento vi que os métodos podem ser implementados em três "lugares" diferentes e para mostrar montei um exemplo bem simples:

 

O primeiro com a implementação do método dentro da própria classe:

#include <iostream> using namespace std; class OiMundo{public:     void mensagem()    {         cout << "Oi Mundo!";    }}; int main(){    OiMundo objeto;     objeto.mensagem();     return 0;}

A segundo forma é com a implementação depois da classe e antes da main:

#include <iostream> using namespace std; class OiMundo{public:     void mensagem();}; void OiMundo::mensagem(){     cout << "Oi Mundo!";} int main(){    OiMundo objeto;     objeto.mensagem();     return 0;}

A terceira e última forma com a implementação fora da classe e depois da main

#include <iostream> using namespace std; class OiMundo{public:     void mensagem();}; int main(){    OiMundo objeto;     objeto.mensagem();     return 0;} void OiMundo::mensagem(){     cout << "Oi Mundo!";}

Então, a minha dúvida é saber se há alguma diferença entre os três tipos ou é apenas uma questão de estética do código? Qual dessas formas atenta a boa prática de programação?

Outra coisa, na segunda e terceira forma que mostrei a assinatura do método também pode ser denominado PROTÓTIPO como na linguagem C?

  • Solução
Postado

Na primeira forma o método mensagem está sendo declarado e definido inline (dentro da classe). Já na segunda e terceira forma (não há diferença entre elas), o método está sendo definido fora.

Se você for usar a primeira forma, o ideal é usar com métodos pequenos com poucas linhas de código.

Quanto as outras duas formas, da forma que você postou não há grande benefício ao projeto já que a vantagem de definir métodos fora da classe é permitir compilação separada e organizar grandes projetos.

Por isso, nesse caso quando os métodos forem declarados fora da classe, o ideal é ter três arquivos, por exemplo:

main.cpp: com a função principal

mensagem.cpp: com a definição da função mensagem

mensagem.h com as declarações e protótipos da classe OiMundo

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!