Ninguno

Solo disponible en BuenasTareas
  • Páginas : 8 (1830 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de febrero de 2010
Leer documento completo
Vista previa del texto
DICAS DE USO
• USE O MODO DE LEITURA LAYOUT DE PAGINA.
• CASO VOCÊ TENHA PROBLEMAS DE FALTA DE MEMÓRIA NO SEU SISTEMA, ELIMINE AS BARRAS DE FERRAMENTAS (TODAS).
• CASO VOCÊ DESEJE FAZER COPY AND PASTE DOS PROGRAMAS É RECOMENDÁVEL QUE USE A VERSÃO HIPERTEXTO POIS ESTA ESTÁ PROTEGIDA.
• PARA IMPRIMIR ESTE TEXTO, EM UMA IMPRESSORA QUE NAO SUPORTE IMPRESSAO FRENTE E VERSO, SELECIONE A OPÇÃOIMPRIMIR PÁGINAS ÍMPARES, DEPOIS VIRE AS PÁGINAS, REINSIRA NA IMPRESSORA E IMPRIMA AS PÁGINAS PARES, O TUTORIAL FICA MUITO MAIS COMPACTO, PORÉM CUIDADO PARA NÃO DEIXAR O PAPEL ENROSCAR NA IMPRESSORA.
• ENVIE SUGESTÕES, PROGRAMAS, CORREÇÕES, COLABORAÇÕES E DÚVIDAS PARA: aacesta@dcc.unicamp.br
• CASO VOCÊ VÁ ENCADERNAR A IMPRESSÃO, NÃO SE ESQUEÇA DE MOVER O ÍNDICE ANALÍTICO DO FINAL PARA O COMEÇO DODOCUMENTO.
CONTAMOS COM A SUA COLABORAÇÃO PARA MELHORIAS FUTURAS.



TUTORIAL:

“C++ COMO UMA LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS.”

André Augusto Cesta. aacesta@dcc.unicamp.br

Orientadora: Profa Dra Cecília Mary Fischer Rubira


Conteúdo:

1. CLASSES E OBJETOS 6
1.1. ESPECIFICANDO UMA CLASSE 7
1.2. STRUCT EM C++ 8
1.2.1. ATRIBUTOS OU DADOS MEMBRO. 8
1.2.2.MÉTODOS OU FUNÇÕES MEMBRO. 10
1.2.3. FUNÇÕES MEMBRO QUE RETORNAM VALORES. 14
1.2.4. FUNÇÕES DECLARADAS EXTERNAS A CLASSE , FUNÇÕES MEMBRO CHAMAMANDO FUNÇÕES MEMBRO. 14
1.2.5. ALGO PARECIDO EM UMA LINGUAGEM PROCEDURAL 18
1.2.6. CONSTRUTORES 20
1.2.7. CONSTRUTORES E AGREGAÇÃO 22
1.2.8. DESTRUTORES. 25
1.3. ENCAPSULAMENTO COM “CLASS” 27
1.3.1. ATRIBUTOS PRIVATE, FUNÇÕES MEMBRO PUBLIC 30
1.3.2. UMDADO MEMBRO É PUBLIC 32
1.3.3. COMPILANDO UM PROGRAMA COM VÁRIOS ARQUIVOS. 33
1.4. TIPO ABSTRATO DE DADOS 35
1.4.1. TAD FRAÇÃO 36
1.5. CONSIDERAÇÕES C++: 42
1.5.1. CONST 42
1.5.2. FUNÇÕES INLINE 44
1.5.3. ALOCAÇÃO DINÂMICA COM NEW E DELETE. 46
1.5.3.1. PONTEIROS, “POINTERS” 46
1.5.3.2. VETORES CRIADOS ESTATICAMENTE 47
1.5.3.3. COPIA DE OBJETOS COM VETORES ALOCADOS ESTATICAMENTE. 481.5.3.4. VETORES CRIADOS DINAMICAMENTE 50
1.5.3.5. COPIA DE OBJETOS COM VETORES ALOCADOS DINAMICAMENTE. 51
1.5.3.6. TAD E ALOCAÇÃO DINÂMICA. 54
1.5.3.7. ALOCANDO OBJETOS 58
1.5.4. REFERÊNCIA & 58
1.6. RECAPITULANDO 60
1.6.1. ARGUMENTOS DE LINHA DE COMANDO. 60
2. HERANÇA 72
2.1. HIERARQUIAS DE TIPOS 72
2.1.1. UMA HIERARQUIA SIMPLES. 72
2.1.2. PROTECTED 76
2.1.3. REDEFINIÇÃO DE FUNÇÕESMEMBRO HERDADAS 79
2.1.4. UMA HIERARQUIA DE LISTAS LIGADAS 82
2.2. HIERARQUIAS DE IMPLEMENTAÇÃO 90
2.2.1. FILA A PARTIR DE UMA LISTA 91
3. POLIMORFISMO, FUNÇÕES VIRTUAIS 94
3.1. O QUE SIGNIFICA POLIMORFISMO 94
3.1.1. SOBRECARGA DE MÉTODOS 94
3.1.2. REDEFINIÇÃO DE UMA FUNÇÃO MEMBRO PARA UMA CLASSE HERDEIRA 94
3.1.3. “COPY CONSTRUCTOR” 94
3.1.4. SOBRECARGA DE FUNÇÃO EM C++. 96
3.1.5. “DEFAULTARGUMENTS”, VALORES SUGESTÃO 99
3.1.6. SOBRECARGA DE OPERADOR 99
3.2. CLASSES ABSTRATAS E CONCRETAS 103
3.2.1. CLASSE ABSTRATA ITERADOR 103
3.2.2. ACOPLAMENTO DE MENSAGENS 107
3.2.2.1. CASO ESTÁTICO 108
3.2.2.2. DINÂMICO SEM VIRTUAL 110
3.2.2.3. DINÂMICO COM VIRTUAL 111
3.2.3. CONTAS BANCÁRIAS 112
3.2.4. LISTA HETEROGÊNEA DE CONTAS BANCÁRIAS. 119
4. TÓPICOS AVANÇADOS 121
4.1. FRIENDS 1214.1.1. UMA CLASSE PERMITINDO ACESSO A OUTRA 121
4.1.2. OPERADORES E FRIENDS 123
4.2. HERANÇA MÚLTIPLA 132
4.2.1. UM EXEMPLO SIMPLES. 132
4.2.2. VIRTUAL PUBLIC E RESOLUÇÃO DE CONFLITOS. 133
4.3. POLIMORFISMO PARAMÉTRICO (TEMPLATE) 136
4.3.1. TAD VETOR 136
4.3.2. TEMPLATE DE FUNÇÃO 140
4.3.3. HERANÇA E TEMPLATES. 142
4.3.4. TEMPLATES E AGREGAÇÃO 152
4.4. METACLASSES 154
4.4.1. UM TIPOSIMPLES COMO STATIC 154
4.4.2. UM TIPO DEFINIDO PELO USUÁRIO USADO COMO STATIC 157
4.5. TRATAMENTO DE EXCEÇÕES 159
4.6. CONCLUSÕES 164
4.6.1. ÁRVORE BINÁRIA. 164
4.6.2. SIMULAÇÃO DIRIGIDA A EVENTOS. 170


Copyright IC-UNICAMP 1996

PROGRAMAÇÃO ORIENTADA A OBJETOS

Este tutorial se propõe a ensinar programação orientada a objetos em C++. A maioria dos livros não apresenta a...
tracking img