Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Curso de C++ Moderno Avançado
Rating: 4.5 out of 5(222 ratings)
1,147 students

Curso de C++ Moderno Avançado

Quem deseja aprender a criar games cli, interface gráfica e programação orientada à objetos de forma completa.
Created byMarcos Oliveira
Last updated 11/2025
Portuguese
Portuguese [Auto],

What you'll learn

  • Esse curso de C++ lhe dará todo o alicerce de Programação Orientada a Objetos com C++. Além de conhecimentos: Ncurses, MySQL, SQLite, Dev Web e mais.
  • Aprenda a criar interfaces gráficas com GTKMM
  • Saiba como usar MySQL e SQLite com C++
  • E mais desenvolvimento Web, aplicativos TUI e Game no terminal

Course content

1 section59 lectures9h 17m total length
  • Apresentação1:27
  • Introdução4:44
  • Herança - O princípio de Orientação à Objetos3:37
  • Encapsulamento - Conceitos e Práticas6:31
  • Polimorfismo3:57
  • Funções Virtuais (Overriden)5:58
  • Contrutores e Destrutores - As múltiplas formas7:56
  • Funções e classes friend4:50
  • Utilizando e criando Namespaces5:01
  • Parametrizando tipos de dados com a classe template9:03
  • Melhorando desempenho em tempo de compilação com constexpr4:56
  • Tratamento de exceções7:19
  • Padronização de arquivos e Protótipos de Classes9:57
  • Templates de Classes4:28
  • Como Conectar ao MySQL com C/C++ no Windows14:30

    Nesse vídeo veremos como conectar ao MySQL no Windows, tanto com Visual Studio, como como VSCode via GCC/g++ MinGW. Esse vídeo é uma atualização desse Curso. No próximo vídeo há uma errata, o comando correto para instalar o Conector C  no Ubuntu, caso esteja usando uma VirtualBox ou WSL é:
    sudo apt install libmysqlclient-dev

    Os arquivos estão disponíveis para download. Bom aproveito do conteúdo!

  • Trabalhando com MySQL em C++9:13
  • Criando um CRUD MySQL - READ6:20
  • Parte 2 - CRUD MySQL - CREATE9:16
  • UPDATE - Parte 3 - CRUD MySQL5:17
  • Finalizando nosso CRUD MySQL - DELETE3:12
  • SQLite com C++ - Instalação e Primeiros passos5:58
  • Selecionando dados do SQLite com C++8:22
  • Criando um Programa com Interface Gráfica com GTKMM13:11
  • Criando uma Mini Calculadora com GLADE e GTKMM22:39
  • Expressões Regulares com C++12:08
  • Utilizando Classes Abstratas7:26
  • Manipuladores e Fluxo de Strings - Parte 19:56
  • Manipuladores e Fluxo de Strings - Parte 27:20
  • Manipuladores e Fluxo de Strings - Parte 36:24
  • Standard Template Library (STL) - Conhecendo os headers3:17
  • Classe Enum, Functors e Aritmética com Ponteiros7:30
  • Funções inline e mais dicas para ponteiros5:07
  • Utilizando Expressões lambda em C++7:34
  • Trabalhando com tipos Data e Hora em C++9:03
  • Como gerar números randômicos em tempo de execução4:40
  • Conhecendo e Utilizando Ferramentas Online para C++6:40
  • Habilitando o Servidor Web para C++ no Windows9:48

    Esse vídeo é uma atualização para aqueles que tiveram dificuldade para Habilitar C++ para Web no Apache com Windows.

  • Habilitando o Servidor Web para C++ (Linux)12:07
  • Obtendo Variáveis de Ambiente via C++ Web8:29
  • Como Compilar e Instalar a ncurses no Windows (PDCurses)7:19

    PDCurses é uma biblioteca de interface de usuário baseada em texto que oferece uma API compatível com a ncurses.

    Com a PDCurses é possível desenvolver aplicações TUI independente da plataforma. Ela foi projetada para ser usada em diversos sistemas operacionais, incluindo Windows, DOS, OS/2, e plataformas Unix-like.

  • Criando um Jogo da Cobra Passo a Passo - Parte 114:39
  • Parte 2 - Jogo da Cobra Passo a Passo6:42
  • Parte 3 - Criando um Jogo da Cobra Passo a Passo8:18
  • Parte 4 - Criando um Jogo da Cobra Passo a Passo11:09
  • Parte 5 - Criando um Jogo da Cobra Passo a Passo10:11
  • Parte 6 - Criando um Jogo da Cobra Passo a Passo10:33
  • Rodando o Jogo da Cobra no Windows2:34

    Com a ncurses para Windows: PDCurses!

  • return 0;1:34
  • Teste seus conhecimentos
  • BÔNUS 1: Framework Web C++, Simples e Rápido!19:19
  • BÔNUS 2: Como Criar Seu Próprio Vim com C++ e NCURSES57:32

    Nesse vídeo criamos um Mini Vim do zero com as características:

    • Abertura de arquivos;

    • Salvar arquivos;

    • Um Linha de Status ou Barra de Status estilo Vim Airline onde monitoraremos linhas e colunas, também nome do arquivo, além dos modos de Inserção e Normal.

  • Como Criar um App Web com Crow C++, TailwindCSS e MySQL do Zero :: Parte 0117:54

    Nesse vídeo iniciamos uma série onde iremos desenvolver um TODO, que é uma anotação para fazer ou marcar tarefas pendentes com Crow C++, MySQL e TailwindCSS.

  • Como Criar um App Web com Crow C++, TailwindCSS e MySQL :: PARTE 211:52

    ☕ Nesse vídeo criamos a rotina de login usando cookies e os métodos de requisição POST e GET via Crow C++.

  • Como Criar um App Web com Crow C++ :: Cookie e Autenticação - PARTE 311:18

    ☕ Nesse vídeo desenvolvemos um encode para criação de cookie e autenticação via Crow C++.

  • Como Criar um App Web com Crow C++ - POO e Debug :: Parte 049:53

    ?‍⬛ Nesse vídeo reestruturamos nosso projeto para Programação Orientada a Objetos além de compilar com flags de debug.

  • Como Criar um App Web com Crow C++ - Conexão com MySQL :: Parte 0519:38

    ?‍⬛ Nesse vídeo criamos a conexão com o banco de dados MySQL e fizemos a autenticação via ele.

    Links úteis:

    • Crow Logging: https://crowcpp.org/master/guides/logging/

    • Crie Logs com SpdLog C++

    • Como instalar o MySQL no Windows e no Ubuntu de acordo com esses links:

      • https://terminalroot.com.br/2023/05/como-instalar-o-apache-php-8-e-mysql-no-windows.html

      • https://terminalroot.com.br/2023/03/como-instalar-mariadb-mysql-no-ubuntu-2210.html

    • Como conectar ao MySQL com C++ no Windows e também em distros GNU/Linux com esses links:

      • https://terminalroot.com.br/2023/09/como-conectar-ao-mysql-com-c-cpp-no-windows.html

      • https://terminalroot.com.br/2023/10/como-conectar-mysql-com-c-cpp-no-ubuntu-e-qualquer-distro.html

    • Além de:

      • https://terminalroot.com.br/mysql

  • Como Criar um App Web com Crow C++ :: Inserindo Tarefas :: Parte 0612:59

    ?‍⬛ Nesse vídeo criamos a tabela para gravar tarefas e fizemos inserção via Web no MySQL.

  • Como Criar um App Web com Crow C++ - Listar Tarefas :: Parte 078:31

    ?‍⬛ Nesse vídeo listamos as tarefas resgatadas do banco de dados.

  • Como Criar um App Web com Crow C++ - Editar e Deletar Tarefas :: Parte 0810:39

    ☕ Nesse vídeo criamos a rotina para editar e/ou deletar a tarefa.
    Link útil: https://terminalroot.com.br/2025/05/obtenha-emojis-via-linha-de-comando.html

  • Como Criar um App Web com Crow C++ - Layout com TailwindCSS :: FINAL10:06

    ?‍⬛ Finalizamos a série desenvolvendo o layout com TailwindCSS.
    Repositório: https://github.com/terroo/crow-todo

Requirements

  • É necessário possuir conhecimentos prévio de C++ Estruturado, recomedamos o Curso de C++ Moderno para Iniciantes, também oferecido por nós!

Description

Esse curso de C++ lhe dará todo o alicerce de Programação Orientada a Objetos com C++. Além de diversos exemplos e exercícios e primeiros passos com as bibliotecas mais conhecidas do C++ como: Ncurses para criação de gráficos pelo Terminal, Games CLI, GTK+ para criação de seu primeiros programas com Interface Gráfica, Conexão com banco de dados MySQL e SQLite, Desenvolvimento Web com C++  e entre outras bibliotecas. Diversos exercícios práticos são realizados nesse curso.

Além de diversos tutoriais inclusos como: obter informações de data e hora de forma correta; gerar números randômicos em tempo de execução e entre outros. Entender como tudo funciona para que você possa ler códigos fonte em repositórios online de controles de versão, como o GitHub por exemplo e entender a lógica do programa, podendo contribuir de forma padronizada e/ou que outros programadores possam contribuir com seus projetos.

Em contrapartida ao uso de Estruturas, assim como já foi dito, existe a Programação Orientada à Objetos, que faz o uso de classes. Logicamente que você também pode usar ambas no seu código, no entanto, o uso de classes possuem mais particularidades.

As classes existem por motivos de organização do código, ou seja, as alterações ficam mais fáceis com uso de classes, sem dizer que reutilização de código também fica mais simples. O não uso das classes, chama-se: Programação Estruturada e o uso dela é Programação Orientada a Objetos.

  • Na Estruturada as funções são devidamente organizadas da seguinte maneira, ex.: A → B;

  • Na Orientação a Objetos, seria mais ou menos assim: A → B → C;

Ou seja, há uma subdivisão do código.


Who this course is for:

  • Profissionais e estudantes da àrea de desenvolvimento de software .