Escolha o seu idioma
Curso de C++
Mais de 2 milhões de alunos no mundo todo

Curso de C++

4,6

Domine o C++ do zero — desde sintaxe básica e gerenciamento de memória até templates, concorrência e recursos modernos do C++23. Este curso oferece a profundidade técnica e a prática necessária para escrever código C++ rápido, seguro e de nível profissional. Se você está visando programação de sistemas, desenvolvimento embarcado ou aplicações de alto desempenho, este é o conjunto completo de habilidades de que você precisa.

Dedika para empresas

O que você vai aprender:

Você construirá uma base sólida na sintaxe de C++, controle de fluxo e funções antes de avançar para ponteiros, gerenciamento de memória e programação orientada a objetos. Você dominará a Biblioteca Padrão de Modelos, escreverá código genérico com templates e aplicará recursos modernos como lambdas, semântica de movimento e vinculações estruturadas. O curso também cobre tratamento de erros, teste unitário, perfilamento de desempenho, sistemas de build com CMake e práticas profissionais, incluindo controle de versão e revisão de código. Ao final, você terá as habilidades para desenvolver software C++ de qualidade profissional em uma ampla gama de domínios.

Como você estuda de forma prática Curso de C++

Como você pratica Curso de C++

Para si que é empresa e quer formar a equipa

Na Dedika para empresas, o curso inclui exercícios e exemplos do próprio negócio e adaptados às necessidades da sua empresa.

Clique aqui

Conteúdo do curso

8 Capítulos • 40 AulasDuração entre 4 e 360 horas (você decide)

Capítulo 1Ver detalhes

Fundamentos de C++ e Configuração de Ambiente

  • Aula 1 • Variáveis, Tipos e Literais

    Apresenta tipos de dados fundamentais, declaração de variáveis e valores literais. Constrói o vocabulário necessário para toda a manipulação de dados futura.

  • Aula 2 • Configuração do Ambiente de Desenvolvimento

    Instale compiladores, IDEs e ferramentas de build para desenvolvimento em C++. Fornece a base técnica da qual todos os capítulos subsequentes dependerão.

  • Aula 3 • Operadores e Expressões

    Explora operadores aritméticos, relacionais, lógicos e bitwise. Regras de precedência de operadores são aplicadas para escrever expressões corretas.

  • Aula 4 • Sintaxe Básica e Estrutura do Programa

    Aborda a anatomia de um arquivo fonte C++, incluindo headers, função main e instruções. Conecta regras de sintaxe a código legível e compilável.

  • Aula 5 • Entrada e Saída com iostream

    Ensina E/S de console usando cin e cout da biblioteca padrão. Permite programas interativos essenciais para exercícios iniciais.

Capítulo 2Ver detalhes

Fluxo de Controle e Funções

  • Aula 1 • Laços e Iteração

    Apresenta laços for, while e do-while juntamente com instruções de controle de laço. Padrões de repetição fundamentam algoritmos em capítulos posteriores.

  • Aula 2 • Escopo, Tempo de Vida e Classes de Armazenamento

    Explica o escopo de variáveis local, global e estática e o tempo de vida de objetos. Previne bugs comuns causados por visibilidade de variável mal compreendida.

  • Aula 3 • Recursão e Sobrecarga de Funções

    Apresenta resolução recursiva de problemas e múltiplas assinaturas de função com o mesmo nome. Prepara os alunos para padrões algorítmicos complexos.

  • Aula 4 • Declaração e Definição de Funções

    Ensina como declarar, definir e chamar funções com parâmetros e tipos de retorno. Funções são a unidade primária de reuso de código em C++.

  • Aula 5 • Instruções Condicionais

    Aborda construções if, else-if, else e switch para tomada de decisão. Habilita diretamente programas orientados por lógica construídos ao longo do curso.

Capítulo 3Ver detalhes

Arrays, Ponteiros e Memória

  • Aula 1 • Alocação Dinâmica de Memória

    Ensina alocação no heap com new e desalocação com delete. O gerenciamento adequado de recursos aqui previne vazamentos de memória em todos os programas futuros.

  • Aula 2 • Arrays e Strings no Estilo C

    Aborda arrays de tamanho fixo, arrays multidimensionais e strings terminadas em nulo. Estabelece as estruturas de dados de baixo nível sobre as quais os ponteiros se baseiam.

  • Aula 3 • Referências e Correção Const

    Distingue referências de ponteiros e impõe o uso de const para segurança. Correção const é um padrão profissional de codificação em C++.

  • Aula 4 • Visão Geral de Smart Pointers

    Apresenta unique_ptr, shared_ptr e weak_ptr como alternativas mais seguras aos ponteiros brutos. Faz a ponte entre o gerenciamento manual de memória e os idiomas modernos de C++.

  • Aula 5 • Conceitos Básicos de Ponteiros

    Apresenta declaração de ponteiro, operador endereço-de e desreferenciação. Ponteiros são centrais para a memória dinâmica e recursos de orientação a objetos adiante.

Capítulo 4Ver detalhes

Programação Orientada a Objetos em C++

  • Aula 1 • Polimorfismo e Funções Virtuais

    Implementa polimorfismo em tempo de execução via funções virtuais e classes abstratas. Permite designs flexíveis e extensíveis, centrais para grandes bases de código C++.

  • Aula 2 • Herança e Hierarquias de Classes

    Modela relacionamentos é-um usando herança simples e múltipla. Estabelece a estrutura de hierarquia necessária para o polimorfismo.

  • Aula 3 • Sobrecarga de Operadores

    Permite que tipos personalizados usem operadores padrão de forma natural e expressiva. Reforça o encapsulamento mantendo a lógica dentro da classe.

  • Aula 4 • Construtores, Destrutores e Inicialização

    Ensina o gerenciamento do ciclo de vida de objetos através de construtores e destrutores. A inicialização adequada previne comportamento indefinido em programas complexos.

  • Aula 5 • Classes e Objetos

    Aborda definição de classe, membros de dados, funções membro e especificadores de acesso. Classes são o principal mecanismo de abstração em C++.

Capítulo 5Ver detalhes

A Biblioteca Padrão de Templates (STL)

  • Aula 1 • Manipulação de Strings com std::string

    Aborda operações, manipulação e utilitários de conversão de std::string. Substitui strings inseguras no estilo C por uma alternativa segura e rica em funcionalidades.

  • Aula 2 • Algoritmos da STL

    Aplica algoritmos de ordenação, pesquisa, transformação e acumulação de <algorithm>. Substitui laços manuais propensos a erros por expressões concisas.

  • Aula 3 • Containers Associativos e Não Ordenados

    Apresenta map, set, unordered_map e unordered_set para acesso baseado em chave. Permite padrões de busca rápida usados em aplicações do mundo real.

  • Aula 4 • Containers Sequenciais

    Aborda vector, list, deque e array para armazenamento ordenado de dados. Escolher o container certo impacta diretamente o desempenho do programa.

  • Aula 5 • Iteradores e Intervalos

    Explica categorias de iteradores, padrões de travessia e operações baseadas em intervalo. Iteradores são a interface universal entre containers e algoritmos.

Capítulo 6Ver detalhes

Templates e Programação Genérica

  • Aula 1 • Conceitos e Restrições em C++20

    Aplica conceitos de C++20 para restringir parâmetros de template com requisitos legíveis. Produz mensagens de erro mais claras e interfaces autodocumentadas.

  • Aula 2 • Fundamentos de Metaprogramação com Templates

    Apresenta computação em tempo de compilação usando type traits e constexpr. Habilita abstrações de custo zero e validação em tempo de compilação.

  • Aula 3 • Templates de Função

    Introduz a sintaxe de templates para escrever funções genéricas com parâmetros de tipo. Elimina a duplicação de código enquanto preserva a segurança total de tipos.

  • Aula 4 • Templates de Classe

    Estende templates para classes, permitindo containers e utilitários genéricos. Sustenta os containers da STL estudados no capítulo anterior.

  • Aula 5 • Templates Variádicos

    Aborda pacotes de parâmetros e expressões fold para templates de argumentos variáveis. Permite APIs flexíveis como std::tuple e utilitários de logging.

Capítulo 7Ver detalhes

Recursos e Idiomas Modernos de C++

  • Aula 1 • Structured Bindings e std::optional

    Apresenta structured bindings para decomposição de tipos tuple-like e optional para valores anuláveis. Reduz boilerplate e expressa a intenção claramente.

  • Aula 2 • std::variant e std::any

    Aborda unions type-safe com std::variant e armazenamento com apagamento de tipo com std::any. Substitui unions C inseguras e ponteiros void em código moderno.

  • Aula 3 • Fundamentos de Concorrência com std::thread

    Introduz criação de threads, primitivas de sincronização e prevenção de data races. Prepara os alunos para o desenvolvimento de aplicações multi-thread.

  • Aula 4 • Semântica de Movimento e Referências Rvalue

    Explica referências rvalue, construtores de movimento e atribuição de movimento para desempenho. Elimina cópias desnecessárias em programas intensivos em recursos.

  • Aula 5 • Expressões Lambda e Closures

    Aborda sintaxe lambda, listas de captura e uso com algoritmos da STL. Permite objetos função inline concisos sem boilerplate.

Capítulo 8Ver detalhes

Tratamento de Erros, Testes e Desempenho

  • Aula 1 • Profiling e Análise de Desempenho

    Aplica ferramentas de profiling para identificar hotspots e medir tempo de execução. Otimização orientada por dados evita ajustes prematuros e equivocados.

  • Aula 2 • Teste Unitário em C++

    Introduz frameworks de teste, design de casos de teste e fluxo de trabalho de desenvolvimento orientado a testes. Testes automatizados verificam a correção à medida que o código evolui.

  • Aula 3 • Asserções e Programação Defensiva

    Usa assert, static_assert e verificações de pré-condição para detectar bugs precocemente. Técnicas defensivas reduzem o tempo de depuração em grandes bases de código.

  • Aula 4 • Técnicas de Otimização

    Aborda layouts de dados amigáveis ao cache, melhorias algorítmicas e dicas para o compilador. Aplica descobertas de profiling para obter acelerações mensuráveis.

  • Aula 5 • Tratamento de Exceções

    Aborda sintaxe try-catch-throw, hierarquias de exceção e design de código à prova de exceções. A propagação adequada de erros é obrigatória em software C++ profissional.

Certificação

Seu certificado válido de conclusão

Este curso é para si:

  • Estudante de ciência da computação: ansioso para ir além do pseudocódigo para linguagens do mundo real.

  • Desenvolvedor Python ou JavaScript: pronto para entender o que acontece abaixo da abstração.

  • Aspirante a desenvolvedor de jogos: precisando do controle de baixo nível que o C++ oferece de forma única.

  • Engenheiro eletricista: procurando escrever firmware e drivers com ferramentas de linguagem modernas.

  • Pessoa em transição de carreira: mirando funções de programação de sistemas bem remuneradas, vindo de uma formação não-CS.

  • Construtor entusiasta: querendo programar microcontroladores e dispositivos embarcados de forma mais eficaz.

O que os nossos alunos dizem

As vossas aulas são perfeitas. Adquiri o pacote de um ano e, finalmente, tenho a oportunidade de acompanhar diversos temas do meu interesse sem precisar mudar de plataforma... agradeço por tudo o que fazem, já vos recomendei a outras pessoas...
Giulio Carlo
Giulio CarloAluno de Marketing Digital
Gosto de como as lições são directas ao assunto e como consigo alterar capítulos e saltar conteúdos que não preciso.
Mariana Ferres
Mariana FerresAluna de Fotografia
Gosto do conteúdo e do modo de apresentação e transcrição de vídeos, o que acelera o processo!
Luciana Alvarenga
Luciana AlvarengaAluna de Design de Unhas
A plataforma é rápida, simples de usar. A diversidade de conteúdo e os vídeos complementares ajudam muito na aprendizagem.
André Felipe
André FelipeAluno de Engenharia de Prompt

Principais capacitações

FAQ

Quem é a Dedika?

O certificado é válido em Brasil?

Os cursos são gratuitos?

Qual é a carga horária do curso?

Como são os cursos?

Como funcionam os cursos?

Qual é a duração dos cursos?

Qual é o custo ou preço dos cursos?

O que é um curso EAD ou online e como funciona?

Curso em PDF