38

Introdução ao C++ para programadores OO

  • Upload
    taipa

  • View
    18

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Introdução ao C++ para programadores OO
Page 2: 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

Page 3: Introdução ao C++ para programadores OO

Semelhanças com JavaSemelhanças com Java

• Paradigma

• Sintaxe

• Estruturação– Código– Programa

Page 4: Introdução ao C++ para programadores OO

Tipos PrimitivosTipos Primitivos

Tipo Tamanho

bool {true, false}

byte 8-bit

short 16-bit

int 32-bit

long 64-bit

char 16-bit (unsigned)

float 32-bit

double 64-bitPonto flutuante

Inteiros

Booleano

Page 5: Introdução ao C++ para programadores OO

SintaxeSintaxe

• Declaração / Inicialização de variáveis

• Estruturas de controle

• Modificadores de acesso

• Classes

• Strings e arrays

• Arquivos de cabeçalho

Page 6: Introdução ao C++ para programadores OO

Exemplo 1Exemplo 1

#include <iostream>

int main(){

std::cout << “Hello World!\n”;

return 0; //codigo de termino do programa

}

Page 7: Introdução ao C++ para programadores OO

Estruturando sua classeEstruturando 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

Page 8: Introdução ao C++ para programadores OO

Declarando/Inicializando objetosDeclarando/Inicializando objetos

• Variável do programa– Conta c(/*parametros*/);

• Ponteiro na heap do SO– Conta *c = new Conta(/*parametros*/);

Page 9: Introdução ao C++ para programadores OO

Exemplo 2Exemplo 2

• Exemplo2.cpp

Page 10: Introdução ao C++ para programadores OO

DestrutoresDestrutores

• 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

Page 11: Introdução ao C++ para programadores OO

Exemplo 3Exemplo 3

• Exemplo3.cpp

Page 12: Introdução ao C++ para programadores OO

ConstConst

• 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.

Page 13: Introdução ao C++ para programadores OO

Exemplo 4Exemplo 4

• Exemplo4.cpp

Page 14: Introdução ao C++ para programadores OO

I/OI/O

• Entrada e saída com streams padrão– std::cout– std::cin

• Declarando uso– #include– using

Page 15: Introdução ao C++ para programadores OO

Exemplo 5Exemplo 5

• Exemplo5.cpp

Page 16: Introdução ao C++ para programadores OO

I/O com arquivosI/O com arquivos

• Objetos da biblioteca padrão ios e subjacências

• Operadores >> e << sobre-carregados

ios

istream ostream

ifstream ofstreamiostream

fstream

Page 17: Introdução ao C++ para programadores OO

I/O com arquivosI/O com arquivos

• Funções mais comuns:– open, close, !, <<, >>, write, read, seekp,

put, eof...

• Permissões do arquivo (ios)– in, out, trunc, app, binary

Page 18: Introdução ao C++ para programadores OO

Exemplo 6Exemplo 6

• Exemplo6.cpp

Page 19: Introdução ao C++ para programadores OO

ExercícioExercí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.

Page 20: 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

Page 21: Introdução ao C++ para programadores OO

ArraysArrays

• 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!!!

Page 22: Introdução ao C++ para programadores OO

Exemplo 7Exemplo 7

• Exemplo7.cpp

Page 23: Introdução ao C++ para programadores OO

Exemplo 8Exemplo 8

• Exemplo8.cpp

Page 24: Introdução ao C++ para programadores OO

Arrays MultidimensionaisArrays 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];

}

Page 25: Introdução ao C++ para programadores OO

Exemplo 9Exemplo 9

• Exemplo9.cpp

Page 26: Introdução ao C++ para programadores OO

StringsStrings

• 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...

Page 27: Introdução ao C++ para programadores OO

Exemplo 10Exemplo 10

• Exemplo10.cpp

Page 28: Introdução ao C++ para programadores OO

PonteirosPonteiros

• 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!!!

Page 29: Introdução ao C++ para programadores OO

PonteirosPonteiros

• Operador & retorna o endereço de uma variável.

• Operador * retorna o valor apontado por uma variável.

• a++; a--;

Page 30: Introdução ao C++ para programadores OO

Exemplo 11Exemplo 11

• Exemplo11.cpp

Page 31: Introdução ao C++ para programadores OO

HerançaHerança

• Operador “:”

• Polimorfismo usando a palavra chave “virtual”.

• Se não usar “virtual” é executado o método do tipo de objeto que chamou...

Page 32: Introdução ao C++ para programadores OO

Exemplo 12Exemplo 12

• Exemplo12.cpp

• Conta.cpp

• Conta.h

Page 33: Introdução ao C++ para programadores OO

HerançaHerança

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

Page 34: Introdução ao C++ para programadores OO

Exemplo 13Exemplo 13

• Exemplo13.cpp

• Animal.h

Page 35: Introdução ao C++ para programadores OO

Templates (Generics???)Templates (Generics???)

• Template de função– Usadas normalmente para executar

operações semelhantes sobre tipos de dados diferentes.

• Template de classes

Page 36: Introdução ao C++ para programadores OO

Exemplo 14Exemplo 14

• Exemplo14.cpp

Page 37: Introdução ao C++ para programadores OO

Ver...Ver...

• Classes e Funções Friend

• Herança Múltipla

• Sobrecarga de Operadores

• Exceções

Page 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