1 / 38

Introdução ao C++ para programadores OO

Introdução ao C++ para programadores OO. Instrutores: Francisco Carvalho, João Paulo do Monte, Renato Viana Ferreira {fcfl, jpsml, rvf}@cin.ufpe.br. Semelhanças com Java. Paradigma Sintaxe Estruturação Código Programa. Tipos Primitivos. Booleano. Inteiros. Ponto flutuante. Sintaxe.

taipa
Download Presentation

Introdução ao C++ para programadores OO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introdução ao C++ para programadores OO Instrutores: Francisco Carvalho, João Paulo do Monte, Renato Viana Ferreira {fcfl, jpsml, rvf}@cin.ufpe.br

  2. Semelhanças com Java • Paradigma • Sintaxe • Estruturação • Código • Programa

  3. Tipos Primitivos Booleano Inteiros Ponto flutuante

  4. Sintaxe • Declaração / Inicialização de variáveis • Estruturas de controle • Modificadores de acesso • Classes • Strings e arrays • Arquivos de cabeçalho

  5. Exemplo 1 #include <iostream> int main(){ std::cout << “Hello World!\n”; return 0; //codigo de termino do programa }

  6. Estruturando sua classe • Declarações agrupadas por modificador de acesso • Assinaturas no corpo da classe • Definições após o corpo da classe • Ponto-e-vírgula ao final da classe >=( • Exemplo1v.cpp

  7. Declarando/Inicializando objetos • Variável do programa • Conta c(/*parametros*/); • Ponteiro na heap do SO • Conta *c = new Conta(/*parametros*/);

  8. Exemplo 2 • Exemplo2.cpp

  9. Destrutores • Desalocam a memória e devolvem para o SO • Semelhantes ao free de C • Triviais para objetos sem alocação dinâmica • São chamados quando o main termina ou quando exit(int) é chamado

  10. Exemplo 3 • Exemplo3.cpp

  11. Const • Modificador semelhante ao final de java • Objetos/variáveis const: • Não modificável. Qualquer tentativa incorre em erro de compilação. • Funções const: • Não modificam o objeto • Const pode ser usado ao passar um parâmetro para uma função.

  12. Exemplo 4 • Exemplo4.cpp

  13. I/O • Entrada e saída com streams padrão • std::cout • std::cin • Declarando uso • #include • using

  14. Exemplo 5 • Exemplo5.cpp

  15. I/O com arquivos • Objetos da biblioteca padrão ios e subjacências • Operadores >> e << sobre-carregados

  16. I/O com arquivos • Funções mais comuns: • open, close, !, <<, >>, write, read, seekp, put, eof... • Permissões do arquivo (ios) • in, out, trunc, app, binary

  17. Exemplo 6 • Exemplo6.cpp

  18. Exercício • Produza um arquivo de texto com dados sobre qualquer tema que você queira (placares de varios jogos de duas equipes, historico de temperatura corporal de um paciente, qualquer coisa) e escreva um programa em C++ que leia estes dados, processe-os (ou não) e imprima dados resultantes na tela.

  19. Introdução ao C++ para programadores OO Instrutores: Francisco Carvalho, João Paulo do Monte, Renato Viana Ferreira {fcfl, jpsml, rvf}@cin.ufpe.br

  20. Arrays • int c[12]; • int n [] = { 1, 2, 3, 4, 5 }; • int *array = new int[5]; • Não existe c.length, ou seja, guarde o tamanho do array!!! 

  21. Exemplo 7 • Exemplo7.cpp

  22. Exemplo 8 • Exemplo8.cpp

  23. Arrays Multidimensionais • int b[2][2]; • int b[2][2] = { { 1, 2 }, { 3, 4 } }; • Não é possível fazer “new” com mais de uma dimensão...  • double **notas = new double*[qtdAlunos]; for(i=0;i<qtdAlunos;i++){ e.notas[i] = new double[e.qtdNotas]; }

  24. Exemplo 9 • Exemplo9.cpp

  25. Strings • Strings em C++ podem tanto ser consideradas como um array de caracteres como um objeto. • #include <string> • Métodos Principais: append, at, compare, find, insert...

  26. Exemplo 10 • Exemplo10.cpp

  27. Ponteiros • Armazenam endereços de memória • Possuem tipos • Ponteiro pra int • Ponteiro pra bool • int *a; • Ponteiros são “PERIGOSOS”  • Segmentation Fault... • Travamentos... • Tela AZUL!!! 

  28. Ponteiros • Operador & retorna o endereço de uma variável. • Operador * retorna o valor apontado por uma variável. • a++; a--;

  29. Exemplo 11 • Exemplo11.cpp

  30. Herança • Operador “:” • Polimorfismo usando a palavra chave “virtual”. • Se não usar “virtual” é executado o método do tipo de objeto que chamou...

  31. Exemplo 12 • Exemplo12.cpp • Conta.cpp • Conta.h

  32. Herança • Função virtual pura: torna a classe abstrata: • virtual void mover() const = 0; • Usada para simular interfaces em C++

  33. Exemplo 13 • Exemplo13.cpp • Animal.h

  34. Templates (Generics???) • Template de função • Usadas normalmente para executar operações semelhantes sobre tipos de dados diferentes. • Template de classes

  35. Exemplo 14 • Exemplo14.cpp

  36. Ver... • Classes e Funções Friend • Herança Múltipla • Sobrecarga de Operadores • Exceções

  37. Introdução ao C++ para programadores OO Instrutores: Francisco Carvalho, João Paulo do Monte, Renato Viana Ferreira {fcfl, jpsml, rvf}@cin.ufpe.br

More Related