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
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 JavaSemelhanças com Java
• Paradigma
• Sintaxe
• Estruturação– Código– Programa
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
SintaxeSintaxe
• Declaração / Inicialização de variáveis
• Estruturas de controle
• Modificadores de acesso
• Classes
• Strings e arrays
• Arquivos de cabeçalho
Exemplo 1Exemplo 1
#include <iostream>
int main(){
std::cout << “Hello World!\n”;
return 0; //codigo de termino do programa
}
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
Declarando/Inicializando objetosDeclarando/Inicializando objetos
• Variável do programa– Conta c(/*parametros*/);
• Ponteiro na heap do SO– Conta *c = new Conta(/*parametros*/);
Exemplo 2Exemplo 2
• Exemplo2.cpp
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
Exemplo 3Exemplo 3
• Exemplo3.cpp
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.
Exemplo 4Exemplo 4
• Exemplo4.cpp
I/OI/O
• Entrada e saída com streams padrão– std::cout– std::cin
• Declarando uso– #include– using
Exemplo 5Exemplo 5
• Exemplo5.cpp
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
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
Exemplo 6Exemplo 6
• Exemplo6.cpp
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.
Introdução ao C++ para programadores OO
Instrutores: Francisco Carvalho, João Paulo do Monte, Renato Viana Ferreira
{fcfl, jpsml, rvf}@cin.ufpe.br
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!!!
Exemplo 7Exemplo 7
• Exemplo7.cpp
Exemplo 8Exemplo 8
• Exemplo8.cpp
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];
}
Exemplo 9Exemplo 9
• Exemplo9.cpp
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...
Exemplo 10Exemplo 10
• Exemplo10.cpp
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!!!
PonteirosPonteiros
• Operador & retorna o endereço de uma variável.
• Operador * retorna o valor apontado por uma variável.
• a++; a--;
Exemplo 11Exemplo 11
• Exemplo11.cpp
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...
Exemplo 12Exemplo 12
• Exemplo12.cpp
• Conta.cpp
• Conta.h
HerançaHerança
• Função virtual pura: torna a classe abstrata:– virtual void mover() const = 0;– Usada para simular interfaces em C++
Exemplo 13Exemplo 13
• Exemplo13.cpp
• Animal.h
Templates (Generics???)Templates (Generics???)
• Template de função– Usadas normalmente para executar
operações semelhantes sobre tipos de dados diferentes.
• Template de classes
Exemplo 14Exemplo 14
• Exemplo14.cpp
Ver...Ver...
• Classes e Funções Friend
• Herança Múltipla
• Sobrecarga de Operadores
• Exceções
Introdução ao C++ para programadores OO
Instrutores: Francisco Carvalho, João Paulo do Monte, Renato Viana Ferreira
{fcfl, jpsml, rvf}@cin.ufpe.br