Linguagem C++
C++ é uma linguagem de programação multi-plataforma orientada a objetos usando classes
Pré-requisitos:
Curso de Lógica de Programação ou conhecimento equivalente
Conhecimentos Adquiridos:
Os conhecimentos adquiridos no final deste curso são de criar programas em um ambiente visual, com acesso a banco de dados e orientação a objetos.
Material Didático:
A linguagem e a didática são voltadas ao usuário final, contém exercícios e exemplos explicativos.
Tópicos do Curso:
- Classes e tipos de variáveis; tipos básicos ou primitivos
- Controle do fluxo de processamento: - módulos, funções, laços, blocos, decisões
- Operadores
- O pré processador; diretivas de pré processamento; padronização de constantes
- Entendendo a memória global, a pilha e o heap; vetores, matrizes e ponteiros.
- Ponteiros e referências; o especificador const.
- Ponteiros para funções
- Criando tipos através de estruturas, classes, uniões e enumeradores; diferença entre uma estrutura na Linguagem C e uma estrutura na Linguagem C++
- Quando usar class, quando usar struct
- Biblioteca C++ padrão: funções herdadadas da biblioteca C; os streams de input e output de C++; tratamento de arquivos
- Evitando estouros de buffer
Estruturas e classes C++:
- Conceitos de programação estruturada e modular; conceito de orientação a objetos (OOP) e sua implementação em C++
- Encapsulamento: namespace; struct e class; tipos aninhados
- Criando membros de dados e funções-membro. definindo proteções de acesso aos membros.
- Funções construtoras e função destrutora; construtores default e de cópia; construtores explicit
- O ponteiro this; definindo o ponteiro this como const; especificação mutable para membros de dados
- Classes e funções amigas
- Identidade; membros estáticos; constantes membras
- Criando operadores membros de uma class ou struct
- Sobrecarga de funções e operadores
- Reaproveitamento de código: agregação e herança
- Herança: interdependências entre herança e encapsulamento
- Restrição de acesso protected; derivação public, private e protected; herança simples e herança múltipla
- Polimorfismo; interdependências entre herança e polimorfismo: redefinição de funções
- Funções virtuais e funções virtuais puras; redefinição de funções virtuais
- A OOP e a técnica da linha de montagem: desenvolvendo componentes de software por meio de classes e objetos em C++
- Utilizando funções virtuais para criar interfaces, frameworks e eventos
- Tratamento de excessões: throw, try, catch( ), catch(...); set_terminate, set_unexpected
Templates:
- O que são templates; entendendo a parametrização de tipos; templates de classes e templates de funções.
- Biblioteca C++ padrão: o que é a biblioteca de templates STL (Standard Template Library)
- Os tipos string e wstring; os templates basic_string, list, vector, map, multimap, set, multiset e outros; functors e algorítmos genéricos;
- Templates e programação genérica
- Como operadores colaboram em programação genérica através de templates
- Utilizando smart pointers
- Entendendo o uso do iterator; os vários tipos de iterator; exemplos de uso do especificador mutable
- Entendendo o uso do allocator
- Especialização de templates
- Polimorfismo em tempo de compilação e em tempo de execução
- Templates de conversão de tipo (casts): dynamic_cast, static_cast, reinterpret_cast, const_cast; criando casts personalizados
- Entendendo C++ como uma linguagem multiparadigma, com suporte a mais que uma técnica de programação, indo além de Orientação a Objetos
Certificado de Conclusão
Ao término do curso você receberá o nosso certificado de conclusão deste treinamento.