Linguagem de Programação C++
Universidade Federal de Santa Catarina
Departamento de Engenharia Elétrica, CTC
Prof. Eduardo Augusto Bezerra
Profa. Cristiane Woszezenki
A forma de declarar uma classe em C++ é a seguinte:
class nome_da_classe { rótulo_permissao_1: membro1; rótulo_de_permissao_2: membro2; ... };
onde nome_da_classe é o nome para a classe (tipo definido pelo usuário). O corpo da declaração contém membros que podem ser dados (atributos) ou métodos; e rótulos de permissão que podem ser quaisquer uma das três palavras chaves: private:, public: ou protected:.
Exemplo:
class Retangulo { private: int x, y; public: void atribuiValores(int,int); int area (void);
};
Exemplo de um programa OO em C++
//exemplo de um programa OO em C++
#include <iostream>
using namespace std;
class Retangulo {
private:
int x, y;
public:
void atribuiValores(int,int);
int area (void);
};
void Retangulo::atribuiValores (int a, int b) {
x = a;
y = b;
}
int Retangulo::area (void){
return x*y;
}
int main () {
Retangulo ret; //objeto ret – instancia da classe Retangulo
ret.atribuiValores (3,4);
cout << "area: " << ret.area();
return 0;
}
Construtores
Objetos, quando criados, geralmente precisam inicializar suas variáveis. Por exemplo, o que aconteceria se no exemplo anterior, se o método área fosse chamado antes de atribuiValores? Provavelmente um resultado indeterminado, uma vez que não foram atribuídos quaisquer valores para os dados membros x e y.
Exemplo:
//exemplo de construtor
//
#include <iostream>
using namespace std;
class Retangulo {
private:
int x, y;
public:
Retangulo (int,int);
int area (void)
};
Retangulo::Retangulo (int a, int b) {
x = a;
y = b;
}
int Retangulo::area (void){
return x*y;
}
int main () {
Retangulo ret1 (3,4);
Retangulo ret2 (5,6);
cout << "area de ret1: " << ret1.area() << endl;
cout << "area de ret2: " << ret2.area() << endl;
}