Classes C++ [ Básico ]

Um exemplo básico para quem está começando a desenvolver e procura algum texto sobre programação orientada a objetos POO, nesse exemplo com a linguagem de programação C++.
Se você chegou aqui e vai continuar a ler o texto, vou assumir que você sabe o mínimo da linguagem de programação C, ou C++.

Code Block - c++

Code Block – c++

O exemplo foi testado com:
Code::Blocks 17.12! 
Baixe aqui==> http://codeblocks.org/downloads/binaries

1) Crie um projeto novo, escolha “Console applications” de um nome para seu projeto e salve;

2) No menu File / New / Classe  (coloque o nome para sua classe ) essa IDE já vai criar para você dois arquivos <nomeClasse.h> e <nomeClasse.cpp>

3) No exemplo abaixo eu escolhi o nome Ciente

Altere os três arquivos gerados pelo conteúdo dos exemplos abaixo:

 

I ) Arquivo: Cliente.h

/*
** No arquivo [nomeclasse.h] criamos
** as definições da nossa classe
** métodos e atributos da mesma.
** Em um projeto C++ normalmente esse
** arquivo fica em uma pasta [include\]
**
** #Susviela
**
*/
#ifndef CLIENTE_H
#define CLIENTE_H

#include <string>
using namespace std;

class Cliente
{
    public:
        Cliente();
        virtual ~Cliente();

        void setNome(string nome);
        string getNome();

        void setEmail(string email);
        string getEmail();

        void setIdade(int idade);
        int getIdade();

        void setSaldo(float saldo);
        float getSaldo();

    protected:

    private:
        string  nome;
        string  email;
        int     idade;
        float   saldo;
};

#endif // CLIENTE_H

 

II) Arquivo: Cliente.cpp

/*
** O desenvolvimento dos métodos
** é codificado no arquivo
** nomeado [nomedaclasse.cpp] que
** normalmente fica em uma pasta [src\]
**
** #Susviela
**
*/
#include "Cliente.h"

Cliente::Cliente() {  // o construtor por default tem o mesmo nome classe

    this->nome  = "Sem nome";
    this->email = "Sem email";
    this->idade = 0;
    this->saldo = 0.00;
}

Cliente::~Cliente() { // e o  destrutor por default tem o mesmo nome classe com um ~ antes
    //dtor
}
void Cliente::setNome(string nome ){
    this->nome = nome;
}
string Cliente::getNome(){
    return this->nome;
}

 

III) Arquivo: main.cpp

/* 
** Programa principal
**
** #Susviela
*/
#include <iostream>

using namespace std;

#include "Cliente.h"

int main(){
    Cliente oCliente;   // cria/instancia  um objeto oCliente

    cout << "Nome cliente: " << oCliente.getNome() << endl;

    oCliente.setNome("Carlos Susviela");

    cout << "Nome cliente: " << oCliente.getNome() << endl;

    return 0;
}

 

Uma breve explicação:

I) No arquivo [Cliente.h] criamos as definições, com os métodos e atributos da nossa classe, onde os métodos tem visibilidade pública e os atributos são privados da classe, ou seja só de dentro da classe eles podem ser manipulados;

II) No arquivo [Cliente.cpp] é onde desenvolvemos nossa classe, ai vamos codificar os nossos métodos que interagem com a nossa classe.
Veja que o método construtor por padrão leva o mesmo nome da classe, ai é o local de inicializar algum atributo se for necessário.

Cliente::~Cliente()
O método destrutor é por padrão o nome da classe com um [~] antes do mesmo, esse método é chamado automaticamente quando a classe não será mais utilizada ( quem sabe, seria um bom local para encerrar a conexão com o banco de dados ? )  ;

III) Esse é o nosso programa em C++ propriamente dito onde geralmente colocamos a função main.
Veja que eu instanciei o objeto com a sintaxe padrão do C/C++ ou seja:

int idade ( define a variável idade como inteira )

Cliente oCliente (define o objeto como uma instância da classe Cliente;

Na primeira linha:

cout << "Nome cliente: " << oCliente.getNome() << endl;

Como o método getNome retorna o valor padrão que eu defini na classe, por isso deve imprimir no terminal  [ Nome cliente: Sem Nome ]

Já nas linhas seguinte :

oCliente.setNome("Carlos Susviela");

cout << "Nome cliente: " << oCliente.getNome() << endl;

O método setNome inclui um valor ao atributo nome e ao ser solicitado o valor do atributo com o método getNome()  já temos o novo valor;

 

Conclusão:

Esse texto é só uma pincelada nesse tema muito importante para quem está estudando programação e tem apenas a pretensão de servir como ajuda. Dúvidas, críticas construtivas  ou correções, sinta-se a vontade em contactar comigo.

 

#susviela

 


 

Ajude a manter o BLOG – Faça uma Colaboração :

Criptomoeda Doge:

D7erXNGo3cYcXhVnPny3CGwrr2yc9azuAV

Faça uma doação na criptomoeda Doge

 

 

– – / / – –

—- [ Conheça nosso sistema de gestão comercial: POWER Admc ] —-

https://poweradmc.wordpress.com/

 

Anúncios

Sobre Carlos Susviela

Programador (Desktop / web) WebDeveloper (Sistemas e páginas internet) Técnico Informática / Criptomoedas http://www.PowerInformatica.com.br --------------------------- Torcedor: S.C. Internacional / RS / Brasil
Esse post foi publicado em Dicas: Software (Programas ), Educação e Conhecimento, Internet - Segurança, Programação, Programação C++ e marcado , , , , , . Guardar link permanente.

Uma resposta para Classes C++ [ Básico ]

  1. Prazo disse:

    Nice contents, thanks for putting in good piece of info.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s