C++: De Aprendiz a Mestre! –> A Primeira Experiência com Classes
Posted by admin on 29 de Setembro de 2013 | Filed under C++: De Aprendiz a Mestre!, Línguagens de Programação, Programação

Na continuação da minha apredizagem da programação usando a linguagem de Programação C++, hoje decidi implementar um pequeno programa de calculo de dois números usando classes. Eu não me considero um completo novato na pogramação, uma vez que já sou capaz de programar com aluma fluidez em C, mas ainda não estou nada familiarizado com a programação usando o paradigma de programação orientada a objectos.
Aqui fica o código fonte que desenvolvi:
Soma.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#pragma once #include<iostream> using namespace std; class Soma { private: float valor_1; float valor_2; public: Soma(void); virtual ~Soma(void); //Métodos de Acesso de Leitura float getValor_1() const{return valor_1;} float getValor_2() const{return valor_2;} //Métodos de Acesso de Escrita bool setValor_1(const float valor_1); bool setValor_2(const float valor_2); //Metodo Calculo da Soma void Somar(void) const; };</iostream> |
Soma.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#include "Soma.h" #include<iostream> using namespace std; Soma::Soma(void) { this -> valor_1 = 0; this -> valor_2 = 0; } Soma::~Soma(void) { } bool Soma::setValor_1(const float valor_1) { this -> valor_1 = valor_1; return true; } bool Soma::setValor_2(const float valor_2) { this -> valor_2 = valor_2; return true; } void Soma::Somar(void) const { float resultado = 0; resultado = valor_1 + valor_2; cout < < "Resultado = " << resultado << endl; } |
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include<iostream> #include"Soma.h" using namespace std; int main() { Soma S1; float x, y; cout < < "Introduza o 1o Numero: "; cin >> x; cout < < endl << "Introduza o 2o Numero: "; cin > y; S1.setValor_1(x); S1.setValor_2(y); S1.Somar(); system("PAUSE"); }</iostream> |
Não sei se este pequeno exemplo que implementei está correcto ou se estou a cometer algum erro básico, pelo que todas as opiniões serão tidas em conta.
Share
Setembro 29th, 2013 at 3:59 pm
Muito mais simples desta maneira
#include
#include
class soma
{
private:
int a,b,c;
public:
void ler()
{
cout<<"Introduza dois numeros "<>a>>b;
}
void mostrar()
{
cout<<" A = "<<a<<endl;
cout<<" B = "<<b<<endl;
cout<<"Sum = "<<c<<endl;
}
void soma()
{
c= a+b;
}
};
void main()
{
Soma x; // chamada da classe
clrscr();
x.ler();
x.somar();
x.mostrar();
getch();
}
Setembro 29th, 2013 at 4:02 pm
Desta forma evito de ter de criar os Métodos de Acesso certo? implementando tudo no “.h”?
Cumps
Setembro 29th, 2013 at 5:18 pm
Outra maneira ainda mais simple:
#include
class exemplo{ // nome da classe
int var1, var2;
public:
void set_request(int a, int b);
int sum(){return (var1+var2);}
}exemplo_obj; // alias para a classe
void exemplo::set_request(int a, int b) // chamada da função set
{
var1 = a;
var2 = b;
}
int main(void)
{
exemplo_obj.set_request(1,2);// chamada
std::cout<<"\n Resultado "<<exemplo_obj.sum()<<"\n";//resultado
return 0;
}