Neste tutorial de nossa apostila de C++, vamos aprender a organizar nossas classes e implementações de funções, criando um projeto bem profissional.
Como criar um projeto em C++
Abra seu Code::Blocks (ou outra IDE que esteja usando).
Clique em File, depois New e escolha Project.
Escolha Console application e marque a opção C++.
Dê um nome para seu projeto, escolha a pasta que quer salvar e clique em Finish,
Vai ficar assim:
Agora, clique naqule arquivo branco lá em cima, de 'New file', e clique em Class. Dê o nome 'Calc' para essa classe, pois vamos criar uma calculadora.
Agora veja que legal:
Ele criou dois arquivos: Calc.h e o Calc.cppImplementando uma Classe em um Projeto C++: .h
Ok, vamos lá, primeiro vamos trabalhar no arquivo Calc.h, ele é chamado de cabeçalho.
Vamos ao esboço de nossa classe.
Ela vai ter dois números: num1 e num2, obviamente private.
Vai ter funções de soma (sum), subtração (sub), multiplicação (prod) e divisão (div), todas public e const (elas não vão poder alterar as variáveis).
Somente as funções setNum1 e setNum2 vão poder alterar as variáveis.
E prontinho, nosso cabeçalho da classe Calc.h fica assim:
#ifndef CALC_H #define CALC_H class Calc { private: double num1, num2; public double sum() const; double sub() const; double prod() const; double div() const; void setNum1(double); void setNum2(double); }; #endif // CALC_H
Veja que tem uns #ifndef, #define, #endif...não mexa neles, são super importantes, deixem eles aí que depois explicamos seus significados.
Implementando Funções de uma Classe de um Projeto: .cpp
É nesse arquivo que vamos implementar as funções de nossa classe Calc.h
Note que bem no começo, tem um "#include Calc.h", assim esse arquivo .cpp fica diretamente relacionado ao arquivo .h , entende a mágica da coisa?
Neste arquivo, vamos implementar todas as funções getters e setters que foram previamente apresentadas no cabeçalho da classe. O arquivo .cpp fica assim:
Note que não tem nenhum 'cout', se tivesse, teríamos que incluir 'include <iostream>:
#include "Calc.h" double Calc::getSum() const { return num1+num2; } double Calc::getSub() const { return num1-num2; } double Calc::getProd() const { return num1*num2; } double Calc::getDiv() const { return num1/num2; } void Calc::setNum1(double n1) { num1=n1; } void Calc::setNum2(double n2) { num2=n2; }
Rodando nosso projeto C++: main.cpp
Agora, na main.cpp, a única coisa que você tem que fazer é dar um #include "Calc.h" lá em cima no arquivo, e prontinho, veja como ficou a main:
#include <iostream> #include "Calc.h" using namespace std; int main() { Calc c; double num; cout << "Primeiro numero: "; cin >> num; c.setNum1(num); cout << "Segundo numero: "; cin >> num; c.setNum2(num); cout << "\nResultados: "<<endl; cout << "Soma: " << c.getSum()<<endl; cout << "Subtração: " << c.getSub()<<endl; cout << "Multiplicação: " << c.getProd()<<endl; cout << "Divisão: " << c.getDiv()<<endl; }
Agora imagine por um instante se tivéssemos declarado essa classe e as implementações das funções tudo na main.cpp, a bagunça que seria e o código gigantesco.
Dessa maneira que fizemos, separando por cabeçalhos (.h) e implementações de funções (.cpp), ficou tudo mais bonitinho, organizado e profissional, é assim que fazem e usam em softwares profissionais.
Habitue-se a fazer seus projetos com essa organização, ok?
Nenhum comentário:
Postar um comentário