LINGUAGEM DE PROGRAMAÇÃO C++ CLASSES E OBJETOS
|
|
- Jorge Salgado Fraga
- 5 Há anos
- Visualizações:
Transcrição
1 LINGUAGEM DE PROGRAMAÇÃO C++ E OBJETOS Roberto S. Bigonha UFMG 4 de abril de 2012
2 ESTRUTURAS
3 ESTRUTURAS ESTRUTURAS Cada estrutura (struct) cria um novo tipo Dois tipos estruturas de nomes distintos são diferentes mesmo quando têm exatamente os mesmos membros Os componentes de uma struct podem ser públicos, privados ou protegidos Estruturas podem ser atribuídas, passadas a funções como parâmetros ou retornadas por funções c++/rsb 2
4 ESTRUTURAS ESTRUTURAS COM FUNÇÃO INLINE struct Date { int month, day, year; void display(){ // funç~ao inline cout << day <<" "<< month <<" "<< year <<" "<< era << "\n"; char era; ; int main(int argc, char *argv[]){ Date data = {5, 19, 1948, A ; data.display(); Saída: A c++/rsb 3
5 ESTRUTURAS ESTRUTURAS COM FUNÇÃO NÃO-INLINE struct Date { int month, day, year; void display(); char era; ; void Date::display(){ cout << day <<" "<< month <<" "<< year <<" "<< era << "\n" ; int main(int argc, char *argv[]){ Date data = {5, 19, 1948, A ; data.display(); Saída: A c++/rsb 4
6 ESTRUTURAS INICIAÇÃO DE ESTRUTURAS struct Date { int month, day, year; void display(){ cout << day <<" "<< month <<" "<< year <<" "<< era << "\n" ; private: char era; ; int main(int argc, char *argv[]){ Date data = {5, 19, 1948, A ; data.display(); Mensagem do compilador: constructor, not by... data must be initialized by c++/rsb 5
7 ESTRUTURAS ESTRUTURAS COM CONSTRUTORA struct Date { int month, day, year; Date(int m,int d,int y,char e){month=m;day=d;year=y;era=e;; void display(){ cout << day <<" "<< month <<" "<< year <<" "<< era << "\n" ; private: char era; ; int main(int argc, char *argv[]){ Date data(5, 19, 1948, A ); data.display(); Saída: A c++/rsb 6
8
9 Uma classe consiste em uma estrutura de dados com habilidade para ocultar alguns de seus componentes e membros funções para manipular esta estrutura Classes servem para definir novos tipos abstratos de dados Definição de classes é um um molde para fazer objetos Membros da classe podem ser: membros de dados, funções construtoras, funções destruidoras e membros funções (métodos) As operações da classe são definidas por membros que são funções Estruturas (struct) são classes em que membros sem especificação de visibilidade são públicos: struct A {... é equivalente a class A {public:... c++/rsb 8
10 VISIBILIDADE DOS MEMBROS Uma declaração de classe pode conter membros privados (private), protegidos (protected) e públicos (public) private: membros declarados como privados somente são acessíveis aos membros funcionais da classe public: membros declarados como públicos têm a mesma regra de escopo de membros de struct e podem ser referenciados via qualificação. Membros publics definem a interface da classe protected: membros protegidos são membros privados que são accessíveis nas subclasses No corpo de funções membros, todos os membros da classe podem ser referenciados diretamente, sem necessidade de qualificação c++/rsb 9
11 DEFINIÇÃO DE UMA CLASSE class Box{ private: int h, w, d; public: Box(int, int, int); void set(int, int, int); int volume(void); ; Box::Box(int ht, int wd, int dp) { h = ht; w = wd; d = dp; int Box::set(int a,int b,int c){h = a; w = b; d = c; int Box::volume(){ return h * w * d; c++/rsb 10
12 APLICAÇÃO DA CLASSE Box int main(){ // declara um cubo Box thisbox(4, 5, 2); Box* otherbox = new Box(1, 2, 3); // calculo & exibicao de volume cout << thisbox.volume() << " " << otherbox->volume(); return 0; c++/rsb 11
13 DECLARAÇÃO DE OBJETOS No momento da declaração dos objetos, memória para os membros é alocada, e a função construtora é chamada. A declaração de objetos pode ter parâmetros de inicialização, e.g.: Box thisbox(7, 8, 9) ; Box otherbox = Box(7, 8, 9); Declaração de Objetos da Memória Livre: Box* p = new Box(7, 8, 9); c++/rsb 12
14 PALAVRA CHAVE this class Box{ int h, w, d; public: Box(int, int, int); void set(int, int, int); int volume(void); ; Box::Box(int ht, int wd, int dp) { this->h = ht; this->w = wd; this-> = dp; int Box::set(int a,int b,int c){this->h=a;this->w=b;this->d=c; int Box::volume(){ return this->h * this->w * this->d; c++/rsb 13
15 APONTADOR this this é um apontador especial que existe em toda função não-estática membro de classe this aponta para o objeto para o qual a funcao membro está sendo executada this é um parâmetro formal que sempre corresponde ao objeto corrente Quando uma função membro é chamada, this recebe automaticamente o endereço do objeto correspondente Toda referência a membro de dados feita a partir de uma função membro usa implicitamente o operador this Função membro estática não pode usar this c++/rsb 14
16 IMPLEMENTAÇÃO DO this this tem tipo X*, onde X é a classe correspondente this não pode ser modificado A função Box::volume() é compilada como: int volume(box* const this){ return this->height * this->width * this->depth; int main(){ Box thisbox(4, 5, 2); Box* otherbox = new Box(1, 2, 3);... thisbox.volume(); // volume(&thisbox);... otherbox->volume(); // volume(otherbox);... c++/rsb 15
17 MEMBROS DE CLASSE ESTÁTICOS Membro de classe pode ser definido como static Um membro estático é comum a todos os objetos da classe, havendo sempre apenas uma instância do membro, que é compartilhado por todos os objetos da classe O membro estático (dado ou função) deve ser anunciado na classe e definido fora dela para que passe a existir Membros estáticos obedecem às regras de escopo usuais para qualquer membro de classe Função membro estática só pode ter acesso a outros membros estáticos da classe Função membro estática não pode usar o apontador this c++/rsb 16
18 MEMBROS DE CLASSE ESTÁTICOS... class List { static List *minhalista; <== declaraç~ao... public: static void display(); <== declaraç~ao... ; List *List::minhaLista; List *List::display( ){... ;... <=== definiç~ao <=== definiç~ao c++/rsb 17
19 EXECUÇÃO DE MEMBRO ESTÁTICO SEM OBJETO class Date { int mo, da, yr; public: static int format; // 1 = mm/dd/yy, 2 = dd/mm/yy Date(int m, int d, int y){ mo = m; da = d; yr = y; void display(); ; int Date::format; void Date::display() { if (format == 1)cout << mo << / << da; else cout << da << / << mo; cout << / << yr; c++/rsb 18
20 EXECUÇÃO DE MEMBRO ESTÁTICO SEM OBJETO... int main(){ char ch = 0 ; while (ch!= 3 ){ cout << "\n 1 = mm/dd/yy"; cout << "\n 2 = dd/mm/yy"; cout << "\n 3 = quit\n "; cin >> ch; if (ch == 1 ch == 2 ){ Date::format = ch - 0 ; Date dt(6, 24, 40); dt.display(); return 0; c++/rsb 19
21 FUNÇÃO CONSTRUTORA Tem o mesmo nome da classe e não tem tipo de retorno É opcional. Neste caso, declarações de objetos não implicam em chamadas de funções construtoras Pode haver mais de uma função construtora por classe, via overloading É chamada automaticamente na declaração de objetos c++/rsb 20
22 CONSTRUTORA DEFAULT int n = 0; class Par { int ordem; int nota; public: Par(int ordem = 1, int nota = 10 ){ this->ordem = ordem; this->nota = nota; n++; int f( ){return ordem; int g( ){return nota; ; int main(int argc, char *argv[]) { Par x(1,10); Par t; Par s(1); Par r[10]; Par u(1,10)[10]; //Erro:n~ao se aceitam par^ametros aqui! printf("%d %d % d\n", n, r[9].f(), r[9].g());// Saída: c++/rsb 21
23 FUNÇÃO CONSTRUTORA PRIVADA Construtora privada proíbe criação de objetos por terceiros class A { int x; A( ){ ; public: void f( ){ ; int main( ){ A a; Mensagem do Complilador: A::A() is private c++/rsb 22
24 FUNÇÃO DESTRUIDORA Tem sempre o nome da classe prefixada por No máximo uma por classe Não tem parâmetro e nada retorna Chamada implicitamente quando objeto da classe sai do escopo, isto é, no momento retorno de funções ou pelo uso do operador delete c++/rsb 23
25 TEMPO DE VIDA DE OBJETOS Objeto automático é alocado quando sua declaração é encontrada e liberado quando se sai do bloco que a contém Objetos criados pelo operador new existem até que sejam destruídos pelo delete O endereço retornado pelo new deve ser passado ao delete O tipo do objeto destruído depende do tipo do apontador passado ao delete c++/rsb 24
26 CONSTRUTORA/DESTRUIDORA E FREE STORE new chama a construtora delete chama a destruidora class Date{ int mo, da, yr; public: Date(); ~Date(); ; Date::Date(){cout << "\n Funcao construtora DATE "; Date::~Date(){cout << "\n Funcao destruidora DATE"; c++/rsb 25
27 CONSTRUTORA/DESTRUIDORA E FREE... int main(){ Date *dt = new Date; cout << "\nprocessa as datas "; delete dt; return 0; SAIDA: Funcao construtora Date Processa as datas Funcao destruidora c++/rsb 26
28 FUNÇÕES DESTRUIDORAS E FREE STORE class Date { int mo, da, yr; char *month; // default: private public: Date(); Date(int m, int d, int y); ~Date(); void display(); ; void Date::display() { if (month!= NULL) cout << \n << month << << da << ", " << yr; c++/rsb 27
29 FUNÇÕES DESTRUIDORAS E FREE STORE... Date::Date(){ mo = 0; da = 0; yr = 0; month = NULL; Date::Date(int m, int d, int y) { static char *mes[] = { "Janeiro","Fevereiro","Março","Abril","Maio", "Junho","Julho","Agosto","Setembro", "Outubro", "Novembro","Dezembro"; mo = m; da = d; yr = y; month = new char[strlen(mes[m-1])+1]; strcpy(month, mes[m-1]); Date::~Date() {if (month!= NULL) delete month; int main() { Date birthday(5,19,1948); birthday.display(); c++/rsb 28
30 FUNÇÃO MEMBRO CONSTANTE class A { int x; public: A(){x = 10; void setx(int x) { this->x = x; int getx( ) const {return ++x; //ERRO ; int main(int argc, char *argv[]){ A a; printf("a.x = %d ", a.getx()); const A c; printf("c.x = %d\n", c.getx()); c++/rsb 29
31 FUNÇÃO MEMBRO CONSTANTE... class A { int x; public: A(){x = 10; void setx(int x) { this->x = x; int getx( ) const {return x; // OK ; int main(int argc, char *argv[]){ A a; printf("a.x = %d ", a.getx()); const A c; printf("c.x = %d\n", c.getx()); Saída: a.x = 10 c.x = 10 c++/rsb 30
32 OBJETO CONSTANTE class A { int x; public: A() {x = 10; void setx(int x) { this->x = x; int getx( ) const {return x; ; int main(int argc, char *argv[]){ A a; a.setx(100); // OK const A c; c.setx(1000); // ERRO c++/rsb 31
33 FIM c++/rsb 32
LINGUAGEM DE PROGRAMAÇÃO C++ SOBRECARGA DE OPERADORES
LINGUAGEM DE PROGRAMAÇÃO C++ Roberto S. Bigonha UFMG 6 de abril de 2009 Sobrecarregar significa definir mais uma função para o operador Não é possível mudar a sintaxe do operador Não é possível mudar
Leia maisLINGUAGEM DE PROGRAMAÇÃO C++ SOBRECARGA DE OPERADORES SOBRECARGA DE OPERADORES MOTIVAÇÃO PARA SOBRECARGA DE OPERADORES...
LINGUAGEM DE PROGRAMAÇÃO C++ Roberto S. Bigonha UFMG 6 de abril de 2009 MOTIVAÇÃO PARA MOTIVAÇÃO PARA char *month; Date(); Date(int m, int d, int y); ~Date(); void display(){ if (month!= NULL) cout
Leia maisLINGUAGEM DE PROGRAMAÇÃO C++ HIERARQUIA DE CLASSES
LINGUAGEM DE PROGRAMAÇÃO C++ HIERARQUIA DE CLASSES Roberto S. Bigonha UFMG 01 de abril de 2009 HIERARQUIA DE CLASSES HIERARQUIA DE CLASSES HERANÇA SIMPLES herança é uma técnica para construir novas classes,
Leia maisClasses 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 maisPalavras Reservadas da Linguagem Java
Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de
Leia maisProgramaçã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 maisINF1636 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 maisProgramação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos
Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis
Leia maisINF1337 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 maisFunções. definição, declaração e chamada
Funções definição, declaração e chamada Funções Em C, um programa é uma coleção de FUNÇÕES. Uma função é um bloco de código que recebe um nome e que tem possivelmente PARÂMETROS. A partir do nome, o bloco
Leia maisTécnicas de Programação:
Técnicas de Programação: Programação Orientada a Objeto PROF. PROTÁSIO DEE-UFPB Classes e Objetos Classe É uma estrutura de dados que pode conter: Objeto Dados, e Funções. É uma instância de uma classe.
Leia maisClasses 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 maisDEM-Sec.Sistemas Tipos Abstractos de Informação 2006 / Programação
Funções DEM-Sec.Sistemas Tipos Abstractos de Informação 2006 / 07 1 Programação modular Programação modular: divir um programa em módulos mais pequenos Função: um conjunto de instruções que desempenham
Leia maisIntroduçã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 maisFundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN
Fundamentos de Programação Linguagem C++ Introdução, identificadores, tipos de dados Prof. Bruno E. G. Gomes IFRN 1 Linguagem de Programação Constituída por símbolos e por regras para combinar esses símbolos
Leia maisDiagrama de Classes. Conceitos Básicos. prof. Robinson Vida Monday, April 20, 15
Diagrama de Classes Conceitos Básicos prof. Robinson Vida (vida@utfpr.edu.br) 1 Função do Diagrama de Classes Permitir a visualização das classes que comporão o sistema com seus respectivos atributos e
Leia maisClasses, 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 maisFundamentos 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 maisProgramaçã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 maisClasses 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 maisFundamentos 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 maisParadigmas 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 maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Leia maisLINGUAGEM DE PROGRAMAÇÃO C++ HIERARQUIA DE CLASSES HIERARQUIA DE CLASSES HERANÇA SIMPLES DEFINIÇÃO UMA CLASSE BASE
LINGUAGEM DE PROGRAMAÇÃO C++ HIERARQUIA DE CLASSES Roberto S. Bigonha UFMG HIERARQUIA DE CLASSES 01 de abril de 2009 HERANÇA SIMPLES HIERARQUIA DE CLASSES DEFINIÇÃO UMA CLASSE BASE HIERARQUIA DE CLASSES
Leia maisProgramação em C++: Introdução
Programação em C++: Introdução J. Barbosa J. Tavares Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo (Knuth73v1) Ex: ordenação
Leia maisBruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Alocação Dinâmica de Memória
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Alocação Dinâmica de Memória Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática e Dinâmica Na alocação estática, o espaço
Leia maisNamespaces, 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 maisModificadores de Acesso JAVA
Modificadores de Acesso JAVA Definição Os modificadores de acesso são padrões de visibilidade de acessos às classes, atributos e métodos. Esses modificadores são palavras-chave reservadas do Java. E as
Leia maisBásico: estrutura de programa, sintaxe Interface com linha de comando
Programação em C Sintaxe Básico: estrutura de programa, sintaxe Interface com linha de comando Preprocessamento e compilação Makefiles Ponteiros e estruturas Bibliotecas, ficheiros include e funções Referências
Leia maisC++ Orientado a Objetos
flavio@facom.ufu.br flaviosilva@computer.org a@comp org 1 Declaração As variáveis em C++ podem ser de duas diferentes naturezas Uma variável pode conter um VALOR ou um ENDEREÇO VALOR A declaração de uma
Leia maisLinguagem 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 maisDados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.
2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam
Leia maisC 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 maisIntrodução à linguagem C++
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 3: Introdução à linguagem C++ Introdução à linguagem C++ Vetores Estruturas Objetos Arquivos-texto 1 Vetores Vetores são uma séria de
Leia maisListas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node {
Listas (cont.) K&R: Capitulo 6 Lista Simplesmente Ligada Conjunto de nós head NULL Cada nó contém Informação útil Ponteiro para o próimo nó typedef struct node Item item; struct node *net; *link; Item
Leia maisUNIFEI 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 maisAlocação Dinâmica de Memória. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Alocação Dinâmica de Memória David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática e Dinâmica Na alocação estática, o espaço
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisProgramaçã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 maisRecapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Leia maisInstituto de Informática Estrutura de Dados II
Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O
Leia maisLinguagens de Programação Conceitos e Técnicas. Amarrações Prof. Tiago Alves de Oliveira
Linguagens de Programação Conceitos e Técnicas Amarrações Prof. Tiago Alves de Oliveira Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável
Leia maisAula 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 mais13/11/15. Incrementando C: C++ E na especificação de BigInt... Arquitetura da solução exemplo. O arquivo de declarações. Explorando a classe BigInt
Incrementando C: permite: Definir uma classe para números grandes; Manter o código bem parecido com o programa C. O mesmo programa em C (e até mesmo em Java) não são tão convenientes e elegantes. #include
Leia maisTipos Abstratos de Dados. Estrutura de Dados
Tipos Abstratos de Dados Tipo Abstrato de Dados ou TAD Idéia principal: desvincular o tipo de dado (valores e operações) de sua implementação: O que o tipo faz e não como ele faz! Vantagens da desvinculação:
Leia maisAlgoritmos e Programação. Linguagem C Procedimentos e. Eliane Pozzebon
Algoritmos e Programação Linguagem C Procedimentos e Funções Eliane Pozzebon Procedimentos e Funções Procedimentos são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento
Leia maisProgramaçã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 maisORIENTAÇÃ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 maisBruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Alocação Dinâmica de Memória
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Alocação Dinâmica de Memória Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática e Dinâmica Na alocação estática, o espaço
Leia maisFunções. definição, declaração e chamada
Funções definição, declaração e chamada Funções Em C, um programa é uma coleção de FUNÇÕES. Uma função é um bloco de código que recebe um nome e que tem possivelmente PARÂMETROS. A partir do nome, o bloco
Leia maisProgramação Orientada a Objetos
1 Programação Orientada a Objetos A linguagem C, desde a sua primeira especificação, vem sendo desenvolvida com várias extensões. De uma dessas extensões foi criada a Linguagem C++ onde encontramos diversas
Leia maisProgramaçã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 maisEstrutura 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 maisIntrodução ao C++ Ambientes de Desenvolvimento Avançados. 2 de Outubro de 2002 ADA / DEI - ISEP 2002/2003 1
Introdução ao C++ Ambientes de Desenvolvimento Avançados 2 de Outubro de 2002 ADA / DEI - ISEP 2002/2003 1 C++! Extensão ao c! Facilita a representação de tipos de dados abstractos (tipo classe)! Suporte
Leia maisEsta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Leia maisLinguagem 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 maisParadigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
Leia maisPonteiros e Tabelas. K&R: Capitulo 5 IAED, 2012/2013
Ponteiros e Tabelas K&R: Capitulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros
Leia maisPonteiros e Tabelas. K&R: Capitulo 5 IAED, 2012/2013
Ponteiros e Tabelas K&R: Capitulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros
Leia maisPassagem de parâmetros
Programação com Classes em C++ (cont.) João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) FEUP - LEEC - AED - 2004/2005 Passagem de parâmetros Três maneiras de passar parâmetros: Por
Leia maisANHANGUERA 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# 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 maisOrientaçã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 maisLinguagens de Programação Conceitos e Técnicas. Amarrações
Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador
Leia maisAlocação Dinâmica de Memória
Alocação Dinâmica de Memória Luiz Chaimowicz, Raquel O. Prates, Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados II DCC UFMG Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Leia maisLinguagem C (continuação)
Linguagem C (continuação) Funções, arrays e ponteiros Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João
Leia maisPonteiros e Tabelas. K&R: Capítulo 5
Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros
Leia maisLinguagem 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 maisAlocação Dinâmica de Memória
Alocação Dinâmica de Memória Elerson R. S. Santos elerson@dcc.ufmg.br Algoritmos e Estruturas de DCC UFMG Variáveis Uma variável representa um nome simbólico para uma posição de memória. Cada posição de
Leia maisLinguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
Leia maisUniversidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática
6 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... Diz-se que o nome de um método foi sobrecarregado ( overloaded
Leia maisMétodos Computacionais. Funções, Escopo de Variáveis e Ponteiros
Métodos Computacionais Funções, Escopo de Variáveis e Ponteiros Tópicos da Aula Hoje vamos detalhar funções em C Escrevendo funções Comando return Passagem de argumentos por valor Execução de uma função
Leia maisLinguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Leia maisIntrodução à orientação a objetos. João Tito Almeida Vianna 18/05/2013
Introdução à orientação a objetos João Tito Almeida Vianna 18/05/2013 Roteiro Aula 1 Introdução: Programação estruturada x Orientação a objetos Orientação a objetos Classe e objeto Encapsulamento Herança
Leia maisC++ - Funções. Forma geral das funções C++
C++ - Funções Conjunto de instruções para executar uma tarefa particular, agrupadas numa unidade com um nome para referenciá-las. O código é agregado ao programa uma única vez e pode ser executado muitas
Leia maisProgramação Orientada a Objetos em Java
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Classes e Objetos, Construtores e Desconstrutores, Atributos e
Leia maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia mais1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO
COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA
Leia maisALGORITMOS. Estruturas de Controle de fluxo
ALGORITMOS Estruturas de Controle de fluxo O que veremos hoje? Introdução Estruturas de Controle de Fluxo em C Exercícios Estruturas de Controle de Fluxo Estruturas de controle de fluxo São estruturas
Leia maisClasses 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 maisConceito de classe em C++
Introdução à Programação com Classes em C++ João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog2-2006/2007 Conceito de classe em
Leia mais1 - O que será impresso quando o seguinte programa escrito na linguagem JAVA for compilado e executado?
1 - O que será impresso quando o seguinte programa escrito na int i; do i++; while(i < 0); System.out.println(i); a) O programa não compila pois a variável i não foi inicializada. b) O programa compila,
Leia maisLaborató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 maisIntrodução a Programação de Jogos
Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição
Leia maisProgramação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Leia maisProgramação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Leia maisIntrodução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.
Introdução Atributos, métodos e encapsulamento joao@ecomp.uefs.br Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências
Leia maisDiagramas Sintáticos
Diagramas Sintáticos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Cada classe X pública é declarada num ficheiro
Leia maisCap. 3 Entrada e Saída e Controle de Fluxo
Programação de Computadores II Cap. 3 Entrada e Saída e Controle de Fluxo Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados
Leia maisAula 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#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia maisLinguagens de Programação Aula 11
Linguagens de Programação Aula 11 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Uma definição de subprograma descreve as ações representadas pelo subprograma Subprogramas podem ser funções
Leia maisProgramação Orientada a Objetos HERANÇA E COMPOSIÇÃO
Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Unidade IV Unidade IV Herança e Composição: Herança simples. Composição.
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 5: Associações LEEC@IST Java 1/32 Associação revisão Uma associação representa uma referência entre objectos. Numa associação são definidos: Identificador termo descritivo
Leia maisListas Lineares Ordenadas
Listas Lineares Ordenadas Algoritmos e Estruturas de Dados I Nesta apresentação será apresentado o ADT lista linear ordenada Uma lista linear ordenada, ou simplesmente lista ordenada há uma ordem entre
Leia maisMódulo 7 Cadeias de Caracteres
Estruturas de Dados Módulo 7 Cadeias de Caracteres 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora
Leia mais