Técnicas de Programação:

Tamanho: px
Começar a partir da página:

Download "Técnicas de Programação:"

Transcrição

1 Técnicas de Programação: Programação Orientada a Objeto PROF. PROTÁSIO DEE-UFPB

2 Classes e Objetos Classe É uma estrutura de dados que pode conter: Objeto Dados, e Funções. É uma instância de uma classe. 2 Pode-se fazer a seguinte analogia em termos de variáveis: Uma classe poderia ser um tipo de dado int, char,... Um objeto pode ser uma variável int a, char x,...

3 Declaração de classes Classes são declaradas pela palavra-chave class 3 class nome_da_classe{ Especificador_de_acesso_1: membro1; Ξ Especificador_de_acesso_2: membroa; Ξ ; nome_da_classe É um identificador válido para a classe. Especificador_de_acesso private: Membros privados podem ser acessados somente por membros da mesma classe. Membros públicos podem ser acessados em qualquer escopo em que a classe é visível.

4 Declaração de classes Classes são declaradas pela palavra-chave class 4 class nome_da_classe{ Especificador_de_acesso_1: membro1; Ξ Especificador_de_acesso_2: membroa; Ξ ; Exemplo: private: void setar_valores (int, int); int area (void); ; Membros da Classe

5 Declaração de classes Por padrão, todos os membros declarados em um especificador de acesso são privados Assim, 5 private: void setar_valores (int, int); int area (void); ; ; void setar_valores (int, int); int area (void);

6 Declaração de classes A classe Retangulo contém 4 membros: x e y: dados-membros setar_valores e area: funções-membros Como declarado, x e y são privados, assim só podem ser acessados pelas funções-membros. Como declarado, as funções-membros podem ser acessadas externamente. 6 ; void setar_valores (int, int); int area (void);

7 Criando (instanciando) um objeto Abaixo tem-se um exemplo em que o objeto Ret é instanciado (criado) 7 ; void setar_valores (int, int); int area (void); Retangulo Ret;

8 Criando (instanciando) um objeto Abaixo tem-se um outro meio para instanciar o objeto Retang 8 void setar_valores (int, int); int area (void); Ret;

9 Usando Objetos #include <iostream> using namespace std; 9 void setar_valores (int, int); int area () {return (x*y); ; Operador de Resolução de Escopo void Retangulo :: setar_valores (int a, int b) { x = a; y = b; int main () { Retangulo Ret; Ret.setar_valores(3, 4); cout << Area = " << Ret.area(); return 0;

10 #include <iostream> using namespace std; 10 void setar_valores (int, int); int area () {return (x*y); ; void Retangulo :: setar_valores (int a, int b) { x = a; y = b; int main () { Retangulo Ret; Ret.setar_valores(3, 4); cout << Area = " << Ret.area(); cout << x = " << x << y = " << y; return 0; Imprimindo o valores de x e y Que aconteceu? Por que? x e y não são variáveis no escopo de main

11 #include <iostream> using namespace std; void setar_valores (int, int); int area () {return (x*y); ; void Retangulo :: setar_valores (int a, int b) { x = a; y = b; int main () { Retangulo Ret; Ret.setar_valores(3, 4); cout << Area = " << Ret.area(); cout << x = " << Ret.x << y = " << Ret.y; return 0; Imprimindo o valores de x e y Que aconteceu? Por que? x e y são variáveis no escopo de Retang, mas são privadas 11

12 #include <iostream> using namespace std; 12 void setar_valores (int, int); int area () {return (x*y); void mostrar () { cout << x = " << x << y = " << y; ; void Retangulo :: setar_valores (int a, int b) { x = a; y = b; int main () { Retangulo Ret; Ret.setar_valores(3, 4); cout << Area = " << Ret.area(); Ret.mostrar (); return 0; Imprimindo o valores de x e y Que aconteceu?

13 #include <iostream> using namespace std; void setar_valores (int, int); int area () {return (x*y); void mostrar () { cout << x = " << x << y = " << y; ; O que é possível fazer para x e y serem acessados pelo main? Tornar x e y públicos 13 void Retangulo :: setar_valores (int a, int b) { x = a; y = b; int main () { Retangulo Ret; Ret.setar_valores(3, 4); cout << Area = " << Ret.area(); Ret.mostrar (); return 0;

14 #include <iostream> using namespace std; void setar_valores (int, int); int area () {return (x*y); void mostrar () { cout << x = " << x << y = " << y; ; O que é possível fazer para x e y serem acessados pelo main? Tornar x e y públicos 14 void Retangulo :: setar_valores (int a, int b) { x = a; y = b; int main () { Retangulo Ret; Ret.setar_valores(3, 4); cout << Area = " << Ret.area(); cout << x = " << Ret.x << y = " << Ret.y; return 0;

15 Usando Objetos Desvantagens de tornar dados públicos: Os dados ficam desprotegidos Em geral, ter acesso aos dados, podem causar problemas de: Acesso não permitido 15 Encapsulamento Com os dados-membros desprotegidos, o objeto perde sua capacidade de encapsulamento Consistência Conversão incorreta de tipos de dados A melhor forma de acessar dados-membros é através de funções de: Set: setar os valores dos dados-membros Get: pegar os valores dos dados-membros

16 #include <iostream> using namespace std; 16 void setar_valores (int, int); int getx () {return x; int gety () {return y; int area () {return (x*y); ; void Retangulo :: setar_valores (int a, int b) { x = a; y = b; int main () { Retangulo Ret; Ret.setar_valores(3, 4); cout << Area = " << Ret.area(); cout << x = " << Ret.getX() << y = " << Ret.getY(); return 0;

17 Exercício Considerando o programa anterior, crie 2 objetos da classe Retangulo, receba seus valores de x e y pelo teclado e mostre as área na tela. 17

18 Ponteiros para objetos Suponha a classe Retangulo, o comando a seguir cria um ponteiro a um objeto desta classe: Retangulo *Ret2; 18 Usa-se o operador seta para acessar o objeto Ret2->setar_valores(3, 4); cout << Area = " << Ret2->area();

19 #include <iostream> using namespace std; 19 void setar_valores (int a, int b) { x = a; y = b; int area () {return (x*y); ; int main () { Retangulo Ret;// cria um objeto Retangulo *Ret2;// cria um ponteiro para objeto Ret2 = &Ret;// Faz com que o ponteiro Ret2 aponte para Ret Ret2->setar_valores(3, 4); cout << "Area = " << Ret2->area(); return 0;

20 Exercício Crie uma classe Circulo e elabore funções desta classe para calcular sua área e seu perímetro. Após crie um objeto dessa classe e solicite ao usuário o valor do raio e mostre a área e perímetro. Acesse as funções através de ponteiros. 20

21 Funções Construtoras As funções construtoras são chamadas na criação de um objeto e serve para: Inicializar variáveis-membros, Alocar memória dinamicamente, e Evitar o uso de valores inesperados. As funções construtoras, um tipo de função especial de uma classe, são automaticamente chamadas quando um novo objeto é criado. Uma função construtora: Tem o mesmo nome da classe E não deve ter nenhum tipo de retorno (nem mesmo void) 21

22 #include <iostream> using namespace std; Retangulo (int a, int b); int area () {return (x*y); ; // Função construtora da classe Retangulo Retangulo::Retangulo (int a, int b) { x = a; y = b; Protótipo da função construtora 22 int main () { Retangulo Ret(3,4);// cria um objeto Retangulo Ret2(10,2);// cria um objeto cout << "Area = " << Ret.area() << endl; cout << "Area = " << Ret2.area() << endl; return 0;

23 Funções Destrutoras Fazem o oposto da funções construtoras São automaticamente chamadas quando um objeto é destruido: O escopo do objeto é finalizado Exemplo: um objeto é definido localmente dentro de uma função e a função termina O objeto é alocado dinamicamente na memória e é usado um operador de deleção do objeto O destrutor tem o mesmo nome da classe, mas: é precedido de ~ Não retorna nenhum tipo 23

24 int main () { Retangulo Ret(3,4), Ret2(10,2);// cria os objetos Ret e Ret2 cout << "Area = " << Ret.area() << endl; cout << "Area = " << Ret2.area() << endl; return 0; #include <iostream> using namespace std; int *x, *y; Retangulo (int a, int b); ~Retangulo (); int area () {return (*x) * (*y); ; Protótipo da função destrutora 24 // Função construtora da classe Retangulo Retangulo::Retangulo (int a, int b) { x = new int; // new é um operador para alocar dinamicamente memória para o tipo //especificado, new retorna um PONTEIRO y = new int; *x = a; *y = b; // Função destrutora da classe Retangulo Retangulo::~Retangulo () { delete x;// delete é um operador que deleta a memória alocada para x delete y;

25 Sobrecarga de construtores Em C++, as funções podem ser sobrecarregadas Sobrecarga significa: Uma mesma função pode realiza operações específicas dependendo do tipo e da quantidade de parâmetros: Exemplo: int soma(int a, int b); float soma(float a, float b); As funções construtoras também podem ser sobrecarregadas 25

26 #include <iostream> using namespace std; int main () { Retangulo Ret, Ret2(10,2); cout << "Area = " << Ret.area() << endl; cout << "Area = " << Ret2.area() << endl; return 0; Retangulo (); Retangulo (int a, int b); int area () {return x * y; ; 26 Retangulo::Retangulo (int a, int b) { x = a; y = b; Retangulo::Retangulo () { x = 5; y = 5;

27 Exercício Faça um programa que solicite ao usuário se ele que criar objetos Retângulos ou Circulos, crie arrays de objetos dinamicamente (de acordo com a quantidade de objetos que o usuário desejar) e mostre os resultados das áreas na tela.

28 Arrays de objetos criados dinamicamente #include <iostream> using namespace std; 28 Retangulo (){x = 5;y = 5; // Função Construtora int area () {return x * y; ; int main () { int i; cout << "Quantos objetos retangulo deseja criar?" << endl; cin >> i; Retangulo *Ret= new Retangulo[i]; for (int j = 0; j < i; j++) cout << "Area" << "[" << j << "] = " << Ret[j].area() << endl; delete[] Ret; return 0;

29 Arrays de objetos Exemplo 29 Retangulo () {x = 5;y = 5;; // Função Construtora não explícita Retangulo (int a, int b) {x = a; y = b; // Função Construtora explícita Só podem ser criados sem fornecer um construtor explícito Retangulo *Ret= new Retangulo[20]; Não existe maneira de especificar argumentos explícitos para um construtor em uma declaração de array Retangulo *Ret= new Retangulo(1,4)[20];

30 Arrays de objetos (e se for necessário inicializar cada objeto?) 30 #include <iostream> using namespace std; Retangulo (){cin >> x; cin >> y; // Função Construtora int area () {return x * y; ; int main () { int i; cout << "Quantos objetos retangulo deseja criar?" << endl; cin >> i; Retangulo *Ret= new Retangulo[i]; for (int j = 0; j < i; j++) cout << "Area" << "[" << j << "] = " << Ret[j].area() << endl; delete[] Ret; return 0;

31 Arrays de objetos (inicialização individual) #include <iostream> using namespace std; 31 Retangulo (){x =0 ; y = 0; // Função Construtora void set(int a, int b){x =a; y = b; int area () {return x * y; ; int main () { int i; cout << "Quantos objetos retangulo deseja criar?" << endl; cin >> i; Retangulo *Ret= new Retangulo[i]; for (int j = 0; j < i; j++){ int a, b; cout << "x" << "[" << j << "] = " << endl; cin >> a; cout << "y" << "[" << j << "] = " << endl; cin >> b; Ret[j].set(a,b); for (int j = 0; j < i; j++) cout << "Area" << "[" << j << "] = " << Ret[j].area() << endl; delete[] Ret; return 0;

32 Arrays de objetos (acesso via ponteiro) #include <iostream> using namespace std; 32 Retangulo (){cin >> x; cin >> y; // Função Construtora int area () {return x * y; ; int main () { int i; cout << "Quantos objetos retangulo deseja criar?" << endl; cin >> i; Retangulo *Ret= new Retangulo[i]; for (int j = 0; j < i; j++) cout << "Area" << "[" << j << "] = " << (Ret + j)->area() << endl; delete[] Ret; return 0;

33 Sumário *x apontado por x &x endereço de x x.y membro y do objeto x x->y membro y do objeto apontado por x (*x).y membro y do objeto apontado por x (equivalente ao anterior) x[0] primeiro objeto apontado por x x[1] segundo objeto apontado por x x[n] (n+1)ésimo objeto apontado por x 33

34 Membros estáticos Um classe pode ter membros estáticos Um membro estático contem o mesmo valor para todos os objetos da classe Sintaxe: static int n; static float A; 34

35 Exemplo: contagem do número de objetos criados e destruídos #include <iostream> using namespace std; static int n; // n é uma variável estática Retangulo (){n++; // Função Construtora ~Retangulo (){n--; // Função Destrutora int area () {return x * y; ; 35 int Retangulo::n=0; // Inicialização da variável estática n (DEVE SER DECLARADA COMO GLOBAL) int main () { Retangulo *Ret= new Retangulo[5]; cout << "n = " << Retangulo::n << endl ; Retangulo *A= new Retangulo; cout << "n = " << Retangulo::n << endl ; delete[] Ret; delete A; Retangulo *B= new Retangulo[3]; cout << "n = " << Retangulo::n << endl ; delete[] B; Retangulo C, D; cout << "n = " << Retangulo::n << endl ; return 0;

36 Exercícios Faça um programa baseado na declaração de um classe aluno, que tenha como variáveis membros: nome, idade, matrícula, endereço, CEP e CRE, e que, sendo estas variáveis privadas, só aceitem dados com verificação de conteúdo (exemplo, CRE deve estar entre 0 e 10; idade sempre positiva, etc.). Após isso, faça o cadastro de alguns alunos da turma e mostre na tela o cadastro. 36

37 Sobrecarga de operador Suponha a seguinte classe: 37 Retangulo (){x =0 ; y = 0; // Função Construtora void set(int a, int b){x =a; y = b; int area () {return x * y; ; E considere os seguintes objetos: Retangulo A, B, C; O que aconteceria se a seguinte operação for realizada: C = A + B; Erro de compilação!!!

38 #include <iostream> using namespace std; Retangulo (){x =0 ; y = 0; // Função Construtora ; Retangulo operator + (Retangulo); // Função sobrecarregada do operador binário "+" void set(int a, int b){x =a; y = b; void mostra(){cout << "(x= " << x << ", y= " << y << ")" << endl;; int area () {return x * y; Retangulo Retangulo::operator + (Retangulo Temp){ Retangulo Temp2; Temp2.x = x + Temp.x; Temp2.y = y + Temp.y; return Temp2; int main () { Retangulo A, B, C; A.set(1,2); B.set(3,4); C = A + B; C.mostra(); Sobrecarga de operador Binário 38 return 0;

39 #include <iostream> using namespace std; Retangulo (){x =0 ; y = 0; // Função Construtora Retangulo operator + (Retangulo); // Função sobrecarregada do operador binário "+" void operator ++ () // Função sobrecarregada do operador unário "++" { x++; y++; void set(int a, int b){x =a; y = b; void mostra(){cout << "(x= " << x << ", y= " << y << ")" << endl;; int area () {return x * y; ; Retangulo Retangulo::operator + (Retangulo Temp){ Retangulo Temp2; Temp2.x = x + Temp.x; Temp2.y = y + Temp.y; return Temp2; int main () { Retangulo A, B, C; A.set(1,2); B.set(3,4); C = A + B; C.mostra(); A++; // Operador unário sobrecarregado A.mostra(); return 0; Sobrecarga de operador Unário 39

40 Sobrecarga de operador Observações gerais: Em geral, é adequado respeitar a definição original do operador Exemplo: sobrecarregar o operador + deve ser algo relacionado com adição Não é possível mudar o operador de unário para binário. Não se pode inventar novos operadores. Não é possível modificar a precedência de operadores por meio de sobrecarga. Operadores que não podem ser sobrecarregados:. (operador ponto) :: (operador de resolução de escopo)? : (operador ternário) 40

41 Operador ternário? O operador? avalia uma expressão condicional e retorna um valor se a expressão for true e um outro valor de for false Sintaxe (condição)? valor1 : valor2 Exemplo com if if (x == 20) // Se x for igual a 20 else y = 50; // então faço y receber 50 y = 70; // senão faço y receber 70 Exemplo com? int y = (x == 20)? 50 : 70; // y recebe 50 se x for igual a 20, senão recebe

42 Exercício Faça a sobrecarga dos operadores abaixo: - (subtração) -- (decremento) 42

43 A palavra-chave this Representa um ponteiro para o objeto corrente cuja função está sendo executada. This também é conhecido como operador de AUTOREFERÊNCIA 43

44 #include <iostream> using namespace std; 44 Retangulo (){x =0 ; y = 0; // Função Construtora Retangulo operator + (Retangulo); // Função sobrecarregada do operador binário "+" void operator ++ () // Função sobrecarregada do operador unário "++" { x++; y++; void set(int a, int b){x =a; y = b; void mostra(){cout << "(x= " << x << ", y= " << y << ")" << endl;; int area () {return x * y; ; Retangulo Retangulo::operator + (Retangulo Temp){ this->x = x + Temp.x; this->y = y + Temp.y; return *this; int main () { Retangulo A, B, C; A.set(1,2); B.set(3,4); C = A + B; C.mostra(); A++; // Operador unário sobrecarregado A.mostra(); return 0;

45 Estruturas (struct) Por definição uma struct é uma classe na qual os membros são públicos por default Lembre-se que em uma classe os membros são privados por default 45 struct Retangulo {......

46 struct 46 x e y são privados int area () {return x * y; ; Existe diferença? struct Retangulo { x e y são públicos int area () {return x * y; ;

47 struct 47 x e y são privados int area () {return x * y; ; Existe diferença? struct Retangulo { private: x e y são privados int area () {return x * y; ;

48 Exercício Crie uma estrutura de dados para o objeto quadrado e que tenha uma função membro que compute sua área. Obs: use struct em vez de class 48

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

Leia mais

Sobrecarga de Operadores

Sobrecarga de Operadores BCC702 - Programação de Computadores II Emiliana Mara Lopes Simões simoes.eml@gmail.com Universidade Federal de Ouro Preto junho 2010 Dificuldade: Tipos definidos pelo programador (classes) não podem ser

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET43I Aula 5 Prof. Daniel Cavalcanti Jeronymo Orientada a Objetos e instâncias. Construtores, destrutores e operador de atribuição de cópia. Objetos, atributos, operações: mensagens

Leia mais

Fundamentos de Programação 2

Fundamentos de Programação 2 Fundamentos de Programação 2 ET43G Aula 9 Prof. Daniel Cavalcanti Jeronymo e instâncias. Construtores, destrutores e operador de atribuição de cópia. Objetos, atributos, operações: mensagens e métodos,

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO SOBRECARGA DE OPERADORES (C++) A sobrecarga de operadores ocorre quando desejamos utilizar operadores jáj conhecidos (+,-,*,/,=,+=...)

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando

Leia mais

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void //conteúdo do arquivo Matriz.h class Matriz private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void setnumerodecolunas(int); int getnumerodelinhas(); int getnumerodecolunas();

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador

Leia mais

Física Computacional 7 Classes

Física Computacional 7 Classes Física Computacional 7 Classes 1. Classes a. Construtores e destruidores fc.trabalhosalunos@gmail.com Física Computacional - MEFT 2013/14 P. Bicudo, P. Martins, M. Cardoso 1 As classes possuem métodos

Leia mais

Namespaces, Classes e Métodos.

Namespaces, Classes e Métodos. . Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Overloading de Operadores

Overloading de Operadores Overloading de Operadores FEUP - MIEEC Programação 2-2008/2009 Overloading de Operadores C++ permite utilizar operadores standard para realizar operações com classes em adição aos tipos fundamentais. Por

Leia mais

C com introdução a OO

C com introdução a OO ... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro

Leia mais

Estrutura de dados 1. Ponteiros

Estrutura de dados 1. Ponteiros Estrutura de dados 1 Ponteiros Ponteiros Um ponteiro é um endereço de memória O valor de um ponteiro indica onde uma variável está armazenada Um ponteiro proporciona um modo de acesso a uma variável sem

Leia mais

Linguagem de Programação C++

Linguagem de Programação C++ 337 Linguagem de Programação C++ Sobrecarga de operadores Creio que todos vocês, programando na linguagem C, já tentaram, ao menos uma vez, atribuir com o operador = um vetor a outro, ou comparar duas

Leia mais

Linguagem de Programação C++

Linguagem de Programação C++ O que acontecerá se um programa driver para a classe Matriz efetuasse a seguinte sequência de instruções: #include "Matriz.h" int main() char opcao; switch (opcao) case 1: } 201 } int l, c; cout

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Aula VIII Prof. Felício Bruzzi Barros Maio de 2008 Sobrecarga de operadores matriz A, B, C, D; multiplica(a,b,c); soma(a,b,d); escreve(d); matriz A, B, C, D; C=A*B; D=A+B;

Leia mais

Overloading de Operadores

Overloading de Operadores Overloading de Operadores João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luis Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog2-2006/2007 Overloading de Operadores C++ permite utilizar

Leia mais

Aula 6: Comandos Estruturados Estrutura Condicional

Aula 6: Comandos Estruturados Estrutura Condicional CI208 - Programação de Computadores Aula 6: Comandos Estruturados Estrutura Condicional Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de

Leia mais

Aula 27: Estruturas heterogêneas e alocação dinâmica

Aula 27: Estruturas heterogêneas e alocação dinâmica Aula 27: Estruturas heterogêneas e alocação dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória

Leia mais

Classes, Métodos e Propriedades

Classes, Métodos e Propriedades Ambiente de Programação Visual Classes, Métodos e Propriedades Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos dar continuidade aos elementos de programação da Linguagem C#. Iremos apresentar de

Leia mais

Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença

Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença C++ Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença Primeiro Programa //Primeiro Programa C++ #include int main() { std::cout

Leia mais

PCS Laboratório de Programação Orientada a Objetos 1a. Prova. 02 de Setembro de 2015

PCS Laboratório de Programação Orientada a Objetos 1a. Prova. 02 de Setembro de 2015 PCS - 3111 Laboratório de Programação Orientada a Objetos 1a. Prova 02 de Setembro de 2015 Questão 1 (2,6) Deseja-se implementar um programa que recebe um mês e um dia atual de um ano e o mês e o dia de

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação

Leia mais

# Estrutura de Dados # Aula - Revisão de C/C++ na Prática. Prof. Leinylson Fontinele Pereira

# Estrutura de Dados # Aula - Revisão de C/C++ na Prática. Prof. Leinylson Fontinele Pereira # Estrutura de Dados # Aula - Revisão de C/C++ na Prática Prof. Leinylson Fontinele Pereira Na aula anterior... Ponteiros Funções Introdução 3 O que vamos aprender? Preparação do ambiente de testes Conceitos

Leia mais

//conteúdo do arquivo pacote.h

//conteúdo do arquivo pacote.h //conteúdo do arquivo pacote.h #ifndef PACOTE_H #define PACOTE_H #include #include class Pacote friend istream &operator>> (istream &, Pacote &); friend ostream &operator

Leia mais

Classes e Objetos. Prof. Leonardo Barreto Campos 1

Classes e Objetos. Prof. Leonardo Barreto Campos 1 Classes e Objetos Prof. Leonardo Barreto Campos 1 Sumário Introdução; Escopo de Classe e Acesso a Membros de Classes; Exercício; Os Métodos get e set; Separação de Interface e Implementação; Construtores

Leia mais

Aula 9 Agregado Heterogêneo Ponteiro. prof Leticia Winkler

Aula 9 Agregado Heterogêneo Ponteiro. prof Leticia Winkler Aula 9 Agregado Heterogêneo Ponteiro prof Leticia Winkler 1 Prof. Leticia Winkler 2 Agregado Heterogêneo Também conhecido como registro; É uma coleção de campos que podem ser referenciados pelo mesmo nome.

Leia mais

Aula 8 Comandos de Seleção

Aula 8 Comandos de Seleção Aula 8 Comandos de Seleção Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Até agora não aprendemos a dizer

Leia mais

Exercícios... Capítulo 15. if62c. prof. Robinson Vida Noronha. Monday, March 23, 15

Exercícios... Capítulo 15. if62c. prof. Robinson Vida Noronha. Monday, March 23, 15 Exercícios... Capítulo 15 if62c prof. Robinson Vida Noronha 1 15.1.a) Em C++, é possível ter várias funções com o mesmo nome, que operam sobre diferentes tipos ou números de argumentos. Isso é chamado

Leia mais

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III Programação Orientada a Objetos Alexandre César Muniz de Oliveira Métodos e Atributos Parte III Métodos [mod] tipo nome ([tipo arg]) [throws exc]{ [mod]: zero ou mais modificadores separados por espaços

Leia mais

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;

Leia mais

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Programação Estruturada e Orientada a Objetos. Objetos e Métodos Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;

Leia mais

ANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa

ANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa ANHANGUERA 2015.2 ESTRUTURA DE DADOS AULA 04 Prof. Thomás da Costa thomascosta@aedu.com O que é: Matrizes São vetores que possuem duas ou mais dimensões para armazenar valores. Uma matriz de duas dimensões,

Leia mais

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente): Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de

Leia mais

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Introdução à Programação. Conceitos Básicos de Orientação a Objetos Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes

Leia mais

12. SOBRECARGA DE OPERADOR

12. SOBRECARGA DE OPERADOR Linguagem de Programação C++ 44 12. SOBRECARGA DE OPERADOR Uma forma de C++ alcançar o polimorfismo é por meio do uso de sobrecarga de função. A sobrecarga, simplificadamente, consiste na redefinição de

Leia mais

Programação Orientada a Objetos para Redes de Computadores

Programação Orientada a Objetos para Redes de Computadores Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Classes e Objetos (Continuação) Empacotador de Pré-processador

Leia mais

Programação Orientada a Objetos para Redes de Computadores. Empacotador de Pré-processador. Empacotador de. Primeiro Exemplo Usando Classes em C++

Programação Orientada a Objetos para Redes de Computadores. Empacotador de Pré-processador. Empacotador de. Primeiro Exemplo Usando Classes em C++ Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Classes e Objetos (Continuação) Empacotador de Pré-processador

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Programação Orientada a Objetos CLASSES E OBJETOS

Programação Orientada a Objetos CLASSES E OBJETOS Programação Orientada a Objetos CLASSES E OBJETOS Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Em que Parte do Conteúdo Estamos? Da Unidade III Classes e Objetos, já

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou

Leia mais

Aula 26: Estruturas heterogêneas

Aula 26: Estruturas heterogêneas Aula 26: Estruturas heterogêneas Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 8 Matrizes como argumento de funções O nome de uma matriz (sem os colchetes) representa o endereço onde a matriz está armazenada. Ao passar o

Leia mais

Classes e Encapsulamento

Classes e Encapsulamento Classes e Encapsulamento Marcio Santi POO e C++ Tipo Abstrato de Dados (TAD) TAD atributos dados que o representam interface operações associadas como é manipulado 1 Exemplo: Editor Gráfico (classe círculo)

Leia mais

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto

Leia mais

Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros

Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II Ponteiros Profa.: Simone Ceolin Slides (Prof.Tiago Rios da Rocha) Primeiro Semestre 2011 Sumário

Leia mais

Aula 24: Ponteiros e Alocação Dinâmica

Aula 24: Ponteiros e Alocação Dinâmica Aula 24: Ponteiros e Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula anterior Memória Ponteiro Utilização

Leia mais

PCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 6: Polimorfismo

PCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 6: Polimorfismo PCS3111 Laboratório de Programação Orientada a Objetos para Engenharia Elétrica Aula 6: Polimorfismo Escola Politécnica da Universidade de São Paulo Conceito de polimorfismo 2 Polimorfismo A palavra vem

Leia mais

Linguagem de Programação C++

Linguagem de Programação C++ Exercício: Linguagem de Programação C++ Construa o diagrama de classes UML para as classes envolvidas na solução do exercício do slide 253. 267 Sobrecarga Linguagem de Programação C++ Neste exercício vimos

Leia mais

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento Orientação a objetos Programação Orientada a Objetos Alexandre César Muniz de Oliveira Linguagens orientadas a procedimentos e linguagens orientadas a objetos Unidade de programação: funções e classes

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I Prof. Bruno E. G. Gomes Uma variável em um algoritmo pode ser vista como uma gaveta. A declaração de uma variável reserva uma gaveta (posição) de um certo

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

LISTA DE EXERCÍCIOS 2

LISTA DE EXERCÍCIOS 2 UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO DE COMPUTADORES 1. TIPOS COMPOSTOS DE DADOS LISTA DE EXERCÍCIOS 2 1. Considerando as declarações abaixo, responda dizendo

Leia mais

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo

Leia mais

Aula 25: Alocação Dinâmica

Aula 25: Alocação Dinâmica Aula 25: Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização de ponteiros

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Classes e Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Onde Estamos? Da Unidade III Classes e Objetos, já foram trabalhados

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

Leia mais

Introdução à linguagem C++

Introdução à linguagem C++ Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas

Leia mais

Física Computacional 11 Classes

Física Computacional 11 Classes Física Computacional 11 Classes 1. Classes a. Overload de funções b. Parâmetros por omissão c. Overload de operadores d. Exemplos bicudo@tecnico.ulisboa.pt Física Computacional - MEFT 2013/14 P. Bicudo

Leia mais

UNIFEI Disciplina Professor

UNIFEI Disciplina Professor UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI CCO02 Enganharia de Software II Enzo Seraphim Nota de aula de Java Encapsulamento

Leia mais

Puca Huachi Vaz Penna

Puca Huachi Vaz Penna Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof. UNIVERSIDADE EDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA ECT1203 Linguagem de Programação Turma 03 2015.1 Prof. Einstein Santos Aula 05/06: Comandos de decisão Pontos da aula O comando

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Programação Orientada a Objetos para Redes de Computadores

Programação Orientada a Objetos para Redes de Computadores Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Herança Herança Criação de uma nova classe de uma

Leia mais

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio) Módulo 5 Programação Orientada a Objetos Programação Orientada a Objetos I Java (Rone Ilídio) Programação Orientada a Objetos Registro em Pascal: Type Cliente = Record Nome: String; Telefone: String; Idade:

Leia mais

Aula 10 Comandos de Repetição

Aula 10 Comandos de Repetição Aula 10 Comandos de Repetição Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Em certas situações é necessária

Leia mais

INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo OPERADORES Um operador é um símbolo

Leia mais

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Empacotador de Préprocessadores. Primeiro Exemplo Usando Classes em C++

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Empacotador de Préprocessadores. Primeiro Exemplo Usando Classes em C++ Linguagens de Programação Parte IV Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Introdução à Programação (Continuação) Relembrando da Última Aula... Ponteiros e strings Mais exemplos

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Ponteiros e strings Mais

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Sobrecarga de operadores

Leia mais

Aula 4: Introdução à Linguagem C++

Aula 4: Introdução à Linguagem C++ CI208 - Programação de Computadores Aula 4: Introdução à Linguagem C++ Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas

Leia mais

Aula 14: Funções Passagem de Parâmetros por Referência

Aula 14: Funções Passagem de Parâmetros por Referência CI208 - Programação de Computadores Aula 14: Funções Passagem de Parâmetros por Referência Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof. UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA ECT1203 Linguagem de Programação Turma 03 2015.1 Prof. Einstein Santos Aula 07/08: Comandos de repetição Pontos da aula O laço

Leia mais

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos picos Definição de estrutura Acessando membros de estruturas O tipo horario com struct Implementando horario com class Escopo

Leia mais

Matrizes. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 67

Matrizes. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 67 Matrizes Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 67 Conteúdo Introdução vetores e matrizes Representações de matrizes TADs TAD Vetor TAD Vetor

Leia mais

C++ - Sobrecarga de Operadores

C++ - Sobrecarga de Operadores C++ - Sobrecarga de Operadores Sobrecarregar um operador significa redefinir seu símbolo, de maneira que ele se aplique também a tipos de dados definidos pelo usuário como classes e estruturas. A implementação

Leia mais

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo LAÇOS Laços são comandos da linguagem

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização

Leia mais

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração

Leia mais

Redefinição de Operadores

Redefinição de Operadores Sobrecarga de Operadores em C++ Algoritmos e Estruturas de Dados 2008/2009 Mestrado Integrado em Engenharia Informática e Computação Redefinição de Operadores Quase todos os operadores podem ser redefinidos:

Leia mais

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 4 EXPRESSÕES BOOLEANAS O tipo primitivo boolean É um tipo de dados primitivo em Java que possui

Leia mais

Friends e Sobrecarga

Friends e Sobrecarga Friends e Sobrecarga BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho Funções Amigas I Uma função

Leia mais

Programação C/C++ Slide 5 Nielsen Castelo Damasceno

Programação C/C++ Slide 5 Nielsen Castelo Damasceno Programação C/C++ Slide 5 Nielsen Castelo Damasceno Programação estruturada Programação estruturada Programação estruturada Programação estruturada Programação estruturada vetores vetores vetores vetores

Leia mais

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Visibilidade de membros Membro da classe derivada pode usar os membros públicos ( public ) e protegidos ( protected ) da sua classe base (como

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA DE REPETIÇÃO Prof. Dr. Daniel Caetano 2013-2 Objetivos Entender o que é uma estrutura de repetição Compreender como implementar as repetições Capacitar para

Leia mais

Linguagens de Programação. Parte IV. Relembrando da Última Aula... Sobrecarga de Operadores. Fundamentos de Sobrecarga de Operadores

Linguagens de Programação. Parte IV. Relembrando da Última Aula... Sobrecarga de Operadores. Fundamentos de Sobrecarga de Operadores Linguagens de Programação Parte IV Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Objetos e funções membro

Leia mais

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes CI208 - Programação de Computadores Aula 12: Funções Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática

Leia mais

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br Matrizes Uma matriz é uma variável capaz de armazenar vários dados de

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de

Leia mais

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes

Leia mais

ponteiros INF Programação I Prof. Roberto Azevedo

ponteiros INF Programação I Prof. Roberto Azevedo ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência

Leia mais

Aula 05: Condicionais (Parte 2)

Aula 05: Condicionais (Parte 2) Aula 05: Condicionais (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão

Leia mais

Linguagem de Programação C++ Se analisarmos a manipulação do objeto c, efetuada no exercício anterior, e compararmos com o que acontece em um banco

Linguagem de Programação C++ Se analisarmos a manipulação do objeto c, efetuada no exercício anterior, e compararmos com o que acontece em um banco 168 Linguagem de Programação C++ Se analisarmos a manipulação do objeto c, efetuada no exercício anterior, e compararmos com o que acontece em um banco real no momento da abertura de uma conta, perceberemos

Leia mais

Conceitos Básicos da Programação OO

Conceitos Básicos da Programação OO Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Objetivos Aprender os

Leia mais