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.