Classes c++
____________________________________________________________
_______________________
DEFINIÇÃO DE CLASSES EM C++
Linguagem Compilada Orientada a Objectos, considerada como o C da próxima geração, criada em meados dos anos 80. Não nos debruçaremos sobre o paradigma da Programação Orientada para Objectos uma vez que já foi objecto de estudo em disciplinas anteriores. Referiremos sòmente alguns aspectos da linguagem de modo a permitir criar e manipular estruturas que serão a base dos tipos abstractos de dados que estudaremos ao longo da disciplina. Classes Class nome da classe { private: membros privados protected: membros protegidos public: membros públicos }; Na declaração da classe são colocados os protótipos dos métodos, só em métodos com código reduzido é feita a definição dentro da estrutura class. Definição de métodos fora da estrutura class: [Tipo_retorno] nome_classe :: nome_método([parametros]) { codigo do metodo } EXEMPLO: #include class circulo { private: int coordx; int coordy; int raio; char * cor; public: circulo(); //construtor circulo(int x,int y,int r,char *c); //construtor circulo(const circulo c); //construtor cópia que se verá mais adiante ~circulo(); //destrutor que se verá mais adiante void listar();
____________________________________________________________
_______________________ Departamento de Engª Informática do ISEP 1
Estruturas de Informação - Aspectos Essenciais da Linguagem C++
____________________________________________________________
_______________________
}; circulo::circulo() { coordx=0; coordy=0; raio=0; cor=NULL; }; circulo::circulo(int x,int y,int r,char *c) { coordx=x; coordy=y; raio=r; cor=new char[strlen(c) +1]; strcpy(cor,c); }; circulo::circulo (const circulo &c) //construtor cópia descrito mais tarde { raio=c.raio; coordx=c.coordx; coordy=c.coordy; cor= new char [strlen(c.cor)+1] ; strcpy(cor,c.cor); }; circulo::~circulo ()