Programação
1. CLASSES E OBJETOS 3 1.1. ESPECIFICANDO UMA CLASSE 3 1.2. STRUCT EM C++ 5 1.2.1. ATRIBUTOS OU DADOS MEMBRO. 5 1.2.2. MÉTODOS OU FUNÇÕES MEMBRO. 7 1.2.3. FUNÇÕES MEMBRO QUE RETORNAM VALORES. 12 1.2.4. FUNÇÕES DECLARADAS EXTERNAS A CLASSE , FUNÇÕES MEMBRO CHAMAMANDO FUNÇÕES MEMBRO. 13 1.2.5. ALGO PARECIDO EM UMA LINGUAGEM PROCEDURAL 18 1.2.6. CONSTRUTORES 21 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 34 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 74 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 115 2.2.1. FILA A PARTIR DE UMA LISTA 115
3. POLIMORFISMO, FUNÇÕES VIRTUAIS 119 3.1. O QUE SIGNIFICA POLIMORFISMO 119 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" 120 3.1.4. SOBRECARGA DE FUNÇÃO EM C++. 122 3.1.5. "DEFAULT ARGUMENTS", VALORES SUGESTÃO 126 3.1.6. SOBRECARGA DE OPERADOR 127 3.2. CLASSES ABSTRATAS E CONCRETAS 132 3.2.1. CLASSE ABSTRATA ITERADOR 132 3.2.2. ACOPLAMENTO DE MENSAGENS 138 3.2.3. CONTAS BANCÁRIAS 144 3.2.4. LISTA HETEROGÊNEA DE CONTAS BANCÁRIAS. 154
4. TÓPICOS AVANÇADOS 156 4.1. FRIENDS 156 4.1.1. UMA CLASSE PERMITINDO ACESSO A OUTRA