Conceitos Iniciais
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
Lista (opcional) das super classes da qual esta mesma deriva. Lista de elementos/componentes privados. Opcionalmente utiliza-se a palavra-chave private para explicit-los. Lista de elementos/componentes pblicos de uma class. Obrigatoriamente utiliza-se a palavra-chave public pra explicit-los.
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
Automovel.h
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
Automovel.h
main.cpp
! cout << "Automovel com " << autoM.numero_assentos << " assentos." << endl; autoM.tamanho_portaMalas = 10.7; ! cout << "Automovel com " << autoM.tamanho_portaMalas << " litros no portaMalas" << endl; ! } return 0;
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
main.cpp
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
main.cpp
autoM.num_portas = 3; // um veloster ou uma kombi ! cout << "Automovel com " << autoM.num_portas << " portas." << endl; autoM.tamanho_portaMalas = 10.7; ! cout << "Automovel com " << autoM.tamanho_portaMalas << " litros no portaMalas" << endl; ! } return 0;
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
* Como fazer para acessar um membro privado? (private) * Soluo: Funes membro. * Funes membro: - Declaradas como membros da classe relacionada; - So consideradas como estando dentro do escopo da classe.
Automovel.h
#include "Automovel.h" int Automovel::getNumPortas() { ! return num_portas; } int Automovel::getNumRodas() { ! return num_rodas; } void Automovel::setNumPortas(int num_portas) { ! this->num_portas = num_portas; } void Automovel::setNumRodas(int numeroRodas) { ! num_rodas = numeroRodas; }
Automovel.cpp
class Automovel { ! int num_portas; ! int num_rodas; ! bool transmissaoAutomatica; ! char marca[SIZE_NAME]; ! ! public: ! int getNumPortas(); ! int getNumRodas(); ! void setNumPortas(int num_portas); ! void setNumRodas(int numeroRodas); ! int numero_assentos; ! float tamanho_portaMalas; };
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
main.cpp
* Sada:
Automovel com 3 assentos. Automovel com 10.7 litros no portaMalas
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
* Exemplo (escopo):
Escopo da varivel numeroPortas.
int Automovel::getNumPortas() { int numeroPortas = 2*num_portas; ... ... ... ... cout << ... ... << numeroPortas; ... ... ... ! return numeroPortas; } int Automovel::getNumRodas() { return num_rodas; }
* Escopo da varivel numeroPortas somente dentro da rea demarcada, pois fora dela a varivel no pode ser mais acessada.
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
#include "Automovel.h"
Automovel.cpp
Automovel.h
class Automovel { ! int num_portas; ! int num_rodas; ! bool transmissaoAutomatica; ! char marca[SIZE_NAME]; ! ! public: ! Automovel(); ! int getNumPortas(); ! int getNumRodas(); ! void setNumPortas(int num_portas); ! void setNumRodas(int numeroRodas); ! int numero_assentos; ! float tamanho_portaMalas; };
Automovel::Automovel() { cout << "Construindo classe Automovel" << endl; ! num_portas = 4; ! num_rodas = 4; ! transmissaoAutomatica = true; ! strcpy(marca,"Ferrari"); ! numero_assentos = 2; ! tamanho_portaMalas = 30.0; } int Automovel::getNumPortas() { ! return num_portas; } int Automovel::getNumRodas() { ! return num_rodas; } void Automovel::setNumPortas(int num_portas) { ! this->num_portas = num_portas; }
Construtor.
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
Automovel.cpp
Automovel.h
class Automovel { ! int num_portas; ! int num_rodas; ! bool transmissaoAutomatica; ! char marca[SIZE_NAME]; ! ! public: ! Automovel(int numeroPortas); ! int getNumPortas(); ! int getNumRodas(); ! void setNumPortas(int num_portas); ! void setNumRodas(int numeroRodas); ! int numero_assentos; ! float tamanho_portaMalas; };
Automovel::Automovel(int numeroPortas) { ! cout << "Construindo classe Automovel" << endl; ! num_portas = numeroPortas; ! num_rodas = 4; ! transmissaoAutomatica = true; ! strcpy(marca,"Ferrari"); ! numero_assentos = 2; ! tamanho_portaMalas = 30.0; } int Automovel::getNumPortas() { ! return num_portas; } int Automovel::getNumRodas() { ! return num_rodas; } void Automovel::setNumPortas(int num_portas) { ! this->num_portas = num_portas; }
Construtor.
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
Automovel.cpp
Automovel.h
class Automovel { ! int num_portas; ! int num_rodas; ! bool transmissaoAutomatica; ! ! public: ! Automovel(int numeroPortas); ! ~Automovel(); ! int getNumPortas(); ! void setNumPortas(int num_portas); ! int numero_assentos; ! float tamanho_portaMalas; };
Automovel::Automovel(int numeroPortas) { ! cout << "Construindo classe Automovel" << endl; ! num_portas = numeroPortas; ! num_rodas = 4; ! transmissaoAutomatica = true; ! numero_assentos = 2; ! tamanho_portaMalas = 30.0; } Automovel::~Automovel() { ! cout << "Destruindo classe Automovel" << endl; ! num_portas = 0; } int Automovel::getNumPortas() { ! return num_portas; } void Automovel::setNumPortas(int num_portas) { ! this->num_portas = num_portas; }
Destrutor
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
main.cpp
* Sada:
Construindo classe Automovel Automovel com 4 portas. Destruindo classe Automovel
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011
main.cpp
* Sada:
Construindo classe Automovel Automovel com 4 portas. Destruindo classe Automovel
www.decom.ufop.br/vicente
quinta-feira, 29 de setembro de 2011