unknown
"C++ COMO UMA LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS." 3
1. CLASSES E OBJETOS 3
1.1. ESPECIFICANDO UMA CLASSE 4
1.2. STRUCT EM C++ 5
1.2.1. ATRIBUTOS OU DADOS MEMBRO. 6
1.2.2. MÉTODOS OU FUNÇÕES MEMBRO. 8
1.2.3. FUNÇÕES MEMBRO QUE RETORNAM VALORES. 13
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 22
1.2.7. CONSTRUTORES E AGREGAÇÃO 25
1.2.8. DESTRUTORES. 28
1.3. ENCAPSULAMENTO COM "CLASS" 31
1.3.1. ATRIBUTOS PRIVATE, FUNÇÕES MEMBRO PUBLIC 35
1.3.2. UM DADO MEMBRO É PUBLIC 36
1.3.3. COMPILANDO UM PROGRAMA COM VÁRIOS ARQUIVOS. 38
1.4. TIPO ABSTRATO DE DADOS 41
1.4.1. TAD FRAÇÃO 42
1.5. CONSIDERAÇÕES C++: 50
1.5.1. CONST 50
1.5.2. FUNÇÕES INLINE 53
1.5.3. ALOCAÇÃO DINÂMICA COM NEW E DELETE. 55
1.5.4. REFERÊNCIA & 71
1.6. RECAPITULANDO 73
1.6.1. ARGUMENTOS DE LINHA DE COMANDO. 74
2. HERANÇA 88
2.1. HIERARQUIAS DE TIPOS 88
2.1.1. UMA HIERARQUIA SIMPLES. 88
2.1.2. PROTECTED 93
2.1.3. REDEFINIÇÃO DE FUNÇÕES MEMBRO HERDADAS 97
2.1.4. UMA HIERARQUIA DE LISTAS LIGADAS 101
2.2. HIERARQUIAS DE IMPLEMENTAÇÃO 114
2.2.1. FILA A PARTIR DE UMA LISTA 114
3. POLIMORFISMO, FUNÇÕES VIRTUAIS 118
3.1. O QUE SIGNIFICA POLIMORFISMO 118
3.1.1. SOBRECARGA DE MÉTODOS 119
3.1.2. REDEFINIÇÃO DE UMA FUNÇÃO MEMBRO PARA UMA CLASSE HERDEIRA 119
3.1.3. "COPY CONSTRUCTOR" 119
3.1.4. SOBRECARGA DE FUNÇÃO EM C++. 121
3.1.5. "DEFAULT ARGUMENTS", VALORES SUGESTÃO 125
3.1.6. SOBRECARGA DE OPERADOR 126
3.2. CLASSES ABSTRATAS E CONCRETAS 131
3.2.1. CLASSE ABSTRATA ITERADOR 131
3.2.2. ACOPLAMENTO DE MENSAGENS 137
3.2.3. CONTAS BANCÁRIAS 143
3.2.4. LISTA HETEROGÊNEA DE CONTAS BANCÁRIAS. 153
4. TÓPICOS AVANÇADOS 155
4.1. FRIENDS 155
4.1.1. UMA CLASSE PERMITINDO ACESSO A OUTRA 156
4.1.2. OPERADORES E FRIENDS 158
4.2. HERANÇA MÚLTIPLA 172
4.2.1. UM EXEMPLO SIMPLES. 172
4.2.2.