| |
Linguagem C++ para Programadores |
 |
Este curso apresenta a
linguagem C++ para profissionais que já trabalham com programação e
que desejam utilizar C++ para desenvolver Software, e é baseado no
compilador Visual C++ 6.0. |
|
Pré-requisitos |
Fluência em pelo menos uma linguagem de programação, pelo menos 2 anos de experiência com uma linguagem. Este curso não se destina a quem deseja aprender programação de computadores iniciando do C++. |
 |
Formato de aula |
Apresentação de conceitos com slides ou transparências, intercalados com a execução de laboratórios a cada tópico, explorando a prática em aula (“hands-on programming”). |
 |
Carga horária |
Carga horária total: 48 horas |
 |
Material recebido |
Apostila contendo material escrito sobre os tópicos do curso, listas de exercícios e correções. |
 |
Custo e forma de pagamento |
O custo por aluno é de R$ 890,00. |
O pagamento é dividido em 3 parcelas: na matrícula (transferência bancária) e cheques para 30 e 60 dias. |
 |
Turmas, datas e horários |
Este curso é ministrado apenas para turmas fechadas por empresas ou grupos de profissionais, as aulas são ministradas a noite e aos sábados. |
 |
|
|
Conteúdo |
 |
Apresentação da Linguagem |
· História do C e C++ |
· Paradigmas de programação |
· Compilador versus interpretador |
· Overview de um programa C++ |
Estrutura de um programa em C++ |
· Overview: funções, saída, variáveis, e palavras chave |
· Erros de compilação |
· Layout de programas C++ |
· Arquivos fonte, objeto, o compilador e o linkeditor |
· Apresentação do ambiente do Visual C++ |
Conceitos fundamentais da linguagem C++ |
· Tipos Fundamentais |
· Operadores |
· Precedência de operadores |
· Constantes |
· "Old Style" Casting |
· "New Style" Casting: static_cast, const_cast, reinterpret_cast, dynamic_cast |
· Tipos definidos pelo usuário (typedef) |
· Escopo |
· Fluxo de controle |
· Declarações em estruturas de controle |
· Erros típicos em estruturas de controle |
Funções |
· Introdução |
· Definição de funções |
· Protótipos de funções |
· Arquivos Header |
· Passagem por valor e por referência |
· Sobrecarga de funções |
· Regras de escopo |
· Funções membro de estruturas |
· Variáveis estáticas locais |
· Recursão |
· Manipulando projetos no Visual C++ |
Tipos de dados estruturados |
· Enumerações |
· Estruturas |
· Tipos encadeados |
O pré-processador |
· O que é o pré-processador C++ |
· Diretivas de compilação |
Arrays e vetores |
· Containers |
· Definição e inicialização de arrays |
· Passando arrays para funções |
· Cadeias de caracteres |
· O tipo std::string |
Ponteiros e alocação dinâmica |
· Memória e conceitos básicos |
· Declaração |
· Operações com ponteiros |
· Ponteiros e funções |
· Ponteiros e arrays |
· Referências |
· Ponteiros versus referências |
· Alocação de memória em C |
· Alocação de memória em C++ |
· Memory Leaks |
· Listas ligadas |
Programação orientada à objetos |
· Introdução |
· Princípios básicos de Orientação a objeto |
· O ciclo de desenvolvimento "OO" |
· Definição de classes |
· Definição de membros |
· Definição de métodos |
· Construtores |
· Inicialização de membros |
· Construtor default |
· Destrutores |
· O ponteiro this |
· Funções friend |
· Classes Friend |
· Membros estáticos |
· Funções membro estáticas |
· Agregação |
· Associação |
· Copy constructor |
· Sobrecarga de operadores |
· Herança |
· Controle de acesso |
· Herança múltipla |
· Métodos virtuais |
· Polimorfismo |
C++ Exception Handling |
· Introdução |
· Try, catch, throw |
· Levantando uma exceção |
· Capturando e repassando uma exceção |
· Comparação com SEH: Structured Exception Handling |
Streams |
· Streams de entrada e saída |
· Stream state |
· Operadores e manipuladores |
· Funções membro |
Manipulação de arquivos |
· Introdução |
· Manipulação de arquivos em C |
· Manipulação de arquivos em C++ com streams |
Introdução a STL |
· Definição |
· Templates |
· Containers |
· Iterators |
· Algorithms |
· A classe Vector |
· A classe Deque |
· A classe List |
· A classe Set |
· A classe Map |
Tópico especial: construindo DLLs |
· Introdução |
· DLL entry point |
· Exportando funções com arquivos .def |
· Exportando e importando funções com __declspec |
· Linkedição com bibliotecas de exportação |
· Linkedição dinâmica |
· C e C++ decorated names |
· Calling conventions |
· Criando DLLs no Visual C++ |
· Chamando DLLs no Visual Basic |
· Depurando DLLs |
· Shared-memory em DLLs |
· Ferramentas de apoio |
· Mais sobre DLLs |
|