A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DSC/CCT/UFCG {joseana, Carga Horária: 60 horas Prof.: José Eustáquio Rangel de Queiroz

Apresentações semelhantes


Apresentação em tema: "DSC/CCT/UFCG {joseana, Carga Horária: 60 horas Prof.: José Eustáquio Rangel de Queiroz"— Transcrição da apresentação:

1 DSC/CCT/UFCG {joseana, rangel}@dsc.ufcg.edu.br Carga Horária: 60 horas Prof.: José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.edu.br rangeldequeiroz@gmail.com Prof.: José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.edu.br rangeldequeiroz@gmail.com

2 {joseana, rangel}@dsc.ufcg.edu.br DSC/CCT/UFCG 2 01 // Circulo.h - Definição da classe Circulo 02 #ifndef Circulo_H 03#define Circulo_H 04 05#include 06 class Circulo 07 { 08 int coordx; 09 int coordy; 10 int raio; 11 char * cor; 12public: 13 Circulo(); //construtor 14 Circulo(int x, int y, int r, char *c); //construtor default 15 Circulo(const Circulo c); //construtor de cópia 16 ~Circulo(); //destrutor 17 void Listar(); 18 }; // fim da classe Circulo 01 // Circulo.h - Definição da classe Circulo 02 #ifndef Circulo_H 03#define Circulo_H 04 05#include 06 class Circulo 07 { 08 int coordx; 09 int coordy; 10 int raio; 11 char * cor; 12public: 13 Circulo(); //construtor 14 Circulo(int x, int y, int r, char *c); //construtor default 15 Circulo(const Circulo c); //construtor de cópia 16 ~Circulo(); //destrutor 17 void Listar(); 18 }; // fim da classe Circulo Exemplo 01 - Circulo.h (1/1)

3 {joseana, rangel}@dsc.ufcg.edu.br DSC/CCT/UFCG 3 01 // Exemplo de arquivo de código-fonte – Circulo.cpp 02 // definições das funções-membros para a classe Circulo. 03 #include 04 05using std::cout; 06 07Circulo::Circulo() 08 { 09 coordx = 0; 10 coordy = 0; 11 raio = 0; 12 cor = NULL; 13 }; 14 15 Circulo::Circulo(int x, int y, int r, char *c) 16 { 17 coordx = x; 18 coordy = y; 19 raio = r; 20 cor = new char[strlen(c) +1]; 21 strcpy(cor, c); 22 }; 01 // Exemplo de arquivo de código-fonte – Circulo.cpp 02 // definições das funções-membros para a classe Circulo. 03 #include 04 05using std::cout; 06 07Circulo::Circulo() 08 { 09 coordx = 0; 10 coordy = 0; 11 raio = 0; 12 cor = NULL; 13 }; 14 15 Circulo::Circulo(int x, int y, int r, char *c) 16 { 17 coordx = x; 18 coordy = y; 19 raio = r; 20 cor = new char[strlen(c) +1]; 21 strcpy(cor, c); 22 }; Exemplo 01 - Circulo.cpp (1/2)

4 {joseana, rangel}@dsc.ufcg.edu.br DSC/CCT/UFCG 4 23 Circulo::Circulo (const Circulo &c) //construtor de cópia 24 { 25 raio = c.raio; 26 coordx = c.coordx; 27 coordy = c.coordy; 28 cor = new char [strlen(c.cor)+1] ; 29 strcpy(cor, c.cor); 30 }; 31 Circulo::~Circulo () //destrutor 32 { 33 delete [] cor; 34 }; 35 void Circulo::Listar() 36 { 37 cout << “coordenada x = ” << coordx << ‘\n’; 38 cout << “coordenada y = ” << coordy << ‘\n’; 39 cout << “raio = ” << raio << ‘\n’; 40 cout << “cor = ” << cor << ‘\n’; 41 }; // fim do construtor Horario 23 Circulo::Circulo (const Circulo &c) //construtor de cópia 24 { 25 raio = c.raio; 26 coordx = c.coordx; 27 coordy = c.coordy; 28 cor = new char [strlen(c.cor)+1] ; 29 strcpy(cor, c.cor); 30 }; 31 Circulo::~Circulo () //destrutor 32 { 33 delete [] cor; 34 }; 35 void Circulo::Listar() 36 { 37 cout << “coordenada x = ” << coordx << ‘\n’; 38 cout << “coordenada y = ” << coordy << ‘\n’; 39 cout << “raio = ” << raio << ‘\n’; 40 cout << “cor = ” << cor << ‘\n’; 41 }; // fim do construtor Horario Exemplo 01 - Circulo.cpp (2/2)

5 {joseana, rangel}@dsc.ufcg.edu.br DSC/CCT/UFCG 5 01 // Exemplo de programa de teste da classe Horario 02 // ATENÇÃO! Este arquivo deverá ser compilado juntamente com 03 // Circulo.cpp 04#include 05 06using std::cout; 07using std::endl; 08 09 // inclusão da definição da classe Circulo de Circulo.h 10#include “Circulo.h” 11 12int main() 13{ 14Circulo circ1; // instanciação do objeto circ1 da classe Circulo 15Circulo circ2(10, 15, 33, "Azul"); 16 Circulo circ3(circ2); 17 18 // listagem dos atributos dos objetos circ1 e circ2 19circ1.Listar(); 20 circ2.Listar(); 21circ3.Listar(); 22 } // fim do main 01 // Exemplo de programa de teste da classe Horario 02 // ATENÇÃO! Este arquivo deverá ser compilado juntamente com 03 // Circulo.cpp 04#include 05 06using std::cout; 07using std::endl; 08 09 // inclusão da definição da classe Circulo de Circulo.h 10#include “Circulo.h” 11 12int main() 13{ 14Circulo circ1; // instanciação do objeto circ1 da classe Circulo 15Circulo circ2(10, 15, 33, "Azul"); 16 Circulo circ3(circ2); 17 18 // listagem dos atributos dos objetos circ1 e circ2 19circ1.Listar(); 20 circ2.Listar(); 21circ3.Listar(); 22 } // fim do main Exemplo 01 – Programa de Teste da Classe Circulo (1/1)

6 {joseana, rangel}@dsc.ufcg.edu.br DSC/CCT/UFCG 6  Passagem de Parâmetros  Valor  Construtor de cópia do tipo de dados do parâmetro formal sempre é executado  Destrutor do tipo de dados do parâmetro formal libera o espaço utilizado  Exemplo void circulo::TestarCoord1(float x) { x = 5.96; coordx = x; };  Passagem de Parâmetros  Valor  Construtor de cópia do tipo de dados do parâmetro formal sempre é executado  Destrutor do tipo de dados do parâmetro formal libera o espaço utilizado  Exemplo void circulo::TestarCoord1(float x) { x = 5.96; coordx = x; }; Lembretes I

7 {joseana, rangel}@dsc.ufcg.edu.br DSC/CCT/UFCG 7  Passagem de Parâmetros  Referência  Os parâmetros atuais são associados aos parâmetros formais  Não existe cópia dos parâmetros  Nomes dos parâmetros formais substituem os nomes dos parâmetros atuais  Exemplo void circulo::TestarCoord2(float& x) { x = 7.19; coordx = x; };  Passagem de Parâmetros  Referência  Os parâmetros atuais são associados aos parâmetros formais  Não existe cópia dos parâmetros  Nomes dos parâmetros formais substituem os nomes dos parâmetros atuais  Exemplo void circulo::TestarCoord2(float& x) { x = 7.19; coordx = x; }; Lembretes II

8 {joseana, rangel}@dsc.ufcg.edu.br DSC/CCT/UFCG 8  Passagem de Parâmetros  Referência Constante  Parâmetros formais substituem parâmetros atuais, não se admite alteração de valor  Exemplo void circulo::TestarCoord3(const float& x) { x = 1.89; coordx = x; };  Passagem de Parâmetros  Referência Constante  Parâmetros formais substituem parâmetros atuais, não se admite alteração de valor  Exemplo void circulo::TestarCoord3(const float& x) { x = 1.89; coordx = x; }; Lembretes III

9 DSC/CCT/UFCG {joseana, rangel}@dsc.ufcg.edu.br rangel@dsc.ufcg.edu.br, rangeldequeiroz@gmail.com José Eustáquio Rangel de Queiroz DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA


Carregar ppt "DSC/CCT/UFCG {joseana, Carga Horária: 60 horas Prof.: José Eustáquio Rangel de Queiroz"

Apresentações semelhantes


Anúncios Google