Instruções: leia e assista todo o material do curso abaixo e solicite os seus certificados no botão verde no rodapé por R$47,00.
Ao adquirir o certificado de conclusão deste curso, você também recebe o certificado de todos os respectivos módulos. Confira abaixo:
Pague 1 e receba 9 certificados em seu nome (apenas R$47,00):
A linguagem de programação C++ foi criada por Bjarne Stroustrup, um cientista da computação dinamarquês, no início da década de 1980. Ela é uma extensão da linguagem C, que foi desenvolvida por Dennis Ritchie na década de 1970. O objetivo de Stroustrup ao criar o C++ era adicionar recursos de programação orientada a objetos à linguagem C, mantendo a eficiência e o controle de baixo nível oferecidos por ela.
O nome “C++” foi escolhido porque representa um aumento incremental na linguagem C. Em programação, o símbolo “++” é usado para indicar um incremento de valor. Assim, o nome “C++” sugere que essa linguagem é uma versão aprimorada do C.
Uma das principais características do C++ é a sua capacidade de suportar programação orientada a objetos. Em outras palavras, ela permite a criação de classes, objetos, herança, polimorfismo, encapsulamento e outros conceitos fundamentais da POO. Esses recursos permitem uma organização estruturada e modular do código, facilitando a reutilização e a manutenção.
Além disso, o C++ também suporta programação genérica através de templates, que permitem escrever algoritmos e estruturas de dados que podem ser usados com diferentes tipos de dados. Essa flexibilidade torna o C++ uma linguagem poderosa e versátil.
Outra característica importante do C++ é o seu desempenho. Ela oferece um controle próximo do hardware e permite o uso de recursos de baixo nível, como ponteiros e manipulação direta de memória. Isso torna o C++ adequado para desenvolvimento de sistemas de tempo real, jogos, aplicativos de alta performance e outras aplicações que requerem eficiência e controle preciso de recursos.
Ao longo dos anos, o C++ passou por diversas atualizações e evoluções. A versão mais recente do padrão C++ é conhecida como C++17, lançada em 2017. Essa versão trouxe novos recursos, como inicialização direta de membros em classes, atributos de herança e melhorias na linguagem e biblioteca padrão.
Em resumo, o C++ é uma linguagem de programação de propósito geral que combina recursos da linguagem C com a programação orientada a objetos. Sua eficiência, flexibilidade e capacidade de programação de baixo nível tornam-na uma escolha popular para uma variedade de aplicações.
Em C++, existem vários tipos de dados primitivos que podem ser usados para declarar variáveis e armazenar diferentes tipos de valores. Aqui estão alguns exemplos dos tipos de dados primitivos em C++:
- int: usado para armazenar números inteiros. Exemplo: int idade = 25;
- double: usado para armazenar números de ponto flutuante com maior precisão. Exemplo: double salario = 2500.75;
- float: usado para armazenar números de ponto flutuante com menor precisão. Exemplo: float peso = 68.5f;
- char: usado para armazenar caracteres individuais. Exemplo: char letra = ‘A’;
- bool: usado para armazenar valores booleanos (verdadeiro ou falso). Exemplo: bool estaChovendo = true;
- short: usado para armazenar números inteiros curtos. Exemplo: short numero = 10;
- long: usado para armazenar números inteiros longos. Exemplo: long populacao = 1000000L;
- unsigned int: usado para armazenar números inteiros não negativos. Exemplo: unsigned int contador = 0;
- long long: usado para armazenar números inteiros muito grandes. Exemplo: long long numeroGrande = 1234567890123456789LL;
- unsigned char: usado para armazenar caracteres sem sinal. Exemplo: unsigned char codigo = 255;
Esses são apenas alguns exemplos dos tipos de dados primitivos disponíveis em C++. Cada tipo de dado tem um intervalo de valores que pode armazenar e ocupa uma quantidade específica de memória.
É importante escolher o tipo de dado adequado para cada situação, considerando o intervalo de valores esperados e a eficiência de armazenamento.
A declaração de uma variável é quando você informa ao compilador que deseja reservar um espaço na memória para armazenar um valor específico.
Na declaração, você precisa fornecer o tipo de dado da variável, que pode ser int, float, char, bool, entre outros, e também um nome significativo para identificar essa variável.
Os operadores e expressões desempenham um papel fundamental na programação em C++. Eles permitem que você realize operações matemáticas, lógicas e de manipulação de dados em seus programas.
Os operadores aritméticos em programação C++ são símbolos especiais que permitem realizar operações matemáticas em variáveis numéricas. Eles são utilizados para realizar cálculos e manipular valores numéricos.
Aqui estão os operadores aritméticos mais comuns em C++:
- Operador de Soma (+): Realiza a adição de dois valores. Por exemplo: a + b adiciona os valores de a e b e retorna o resultado.
- Operador de Subtração (-): Realiza a subtração de dois valores. Por exemplo: a – b subtrai o valor de b do valor de a e retorna o resultado.
- Operador de Multiplicação (*): Realiza a multiplicação de dois valores. Por exemplo: a * b multiplica os valores de a e b e retorna o resultado.
- Operador de Divisão (/): Realiza a divisão de dois valores. Por exemplo: a / b divide o valor de a pelo valor de b e retorna o resultado. Se ambos os valores forem inteiros, a divisão será uma divisão inteira.
- Operador de Resto da Divisão (%) ou Módulo: Retorna o resto da divisão entre dois valores inteiros. Por exemplo: a % b retorna o resto da divisão de a por b.
- Operador de Incremento (++): Aumenta o valor de uma variável em uma unidade. Por exemplo: a++ incrementa o valor de a em 1.
- Operador de Decremento (–): Diminui o valor de uma variável em uma unidade. Por exemplo: a– decrementa o valor de a em 1.
Esses são os operadores aritméticos básicos em C++. Eles permitem realizar várias operações matemáticas e são amplamente utilizados em cálculos e manipulações de valores numéricos.
Os operadores lógicos em programação C++ são símbolos utilizados para realizar operações lógicas entre expressões booleanas. Eles permitem combinar ou negar condições para tomar decisões com base em resultados verdadeiros ou falsos.
Aqui estão os operadores lógicos mais comuns em C++:
- Operador AND (&&): Retorna verdadeiro se todas as expressões forem verdadeiras. Por exemplo: a && b retorna verdadeiro se tanto a quanto b forem verdadeiros.
- Operador OR (||): Retorna verdadeiro se pelo menos uma das expressões for verdadeira. Por exemplo: a || b retorna verdadeiro se a ou b forem verdadeiros.
- Operador NOT (!): Inverte o valor de uma expressão booleana. Por exemplo: !a retorna verdadeiro se a for falso, e retorna falso se a for verdadeiro.
Esses operadores lógicos são usados para criar expressões booleanas mais complexas, combinando condições e tomando decisões com base nesses resultados. Eles são muito úteis em estruturas de controle condicional, como o “if” e o “while”, para controlar o fluxo do programa com base em condições lógicas.
As expressões relacionais em programação C++ são usadas para comparar dois valores e retornar um resultado booleano (verdadeiro ou falso) com base na relação entre eles. Essas expressões são frequentemente usadas em estruturas condicionais e loops para tomar decisões com base em comparações.
Aqui estão os operadores relacionais mais comuns em C++:
- Igual (==): Verifica se dois valores são iguais. Por exemplo: a == b retorna verdadeiro se a for igual a b.
- Diferente (!=): Verifica se dois valores são diferentes. Por exemplo: a != b retorna verdadeiro se a for diferente de b.
- Maior que (>): Verifica se o valor à esquerda é maior que o valor à direita. Por exemplo: a > b retorna verdadeiro se a for maior que b.
- Menor que (<): Verifica se o valor à esquerda é menor que o valor à direita. Por exemplo: a < b retorna verdadeiro se a for menor que b.
- Maior ou igual (>=): Verifica se o valor à esquerda é maior ou igual ao valor à direita. Por exemplo: a >= b retorna verdadeiro se a for maior ou igual a b.
- Menor ou igual (<=): Verifica se o valor à esquerda é menor ou igual ao valor à direita. Por exemplo: a <= b retorna verdadeiro se a for menor ou igual a b.
Essas expressões relacionais podem ser usadas para criar condições e tomar decisões com base em comparações entre valores. Por exemplo, em um bloco “if”, você pode utilizar uma expressão relacional para verificar se uma condição é verdadeira e executar um trecho de código correspondente.
Lembre-se de que as expressões relacionais retornam um valor booleano (verdadeiro ou falso) e podem ser combinadas com operadores lógicos para criar expressões mais complexas.
As estruturas de controle são elementos essenciais na programação em C++. Elas permitem que você controle o fluxo de execução de um programa, decidindo quais instruções serão executadas em diferentes situações. Vamos entender melhor!
As estruturas condicionais if-else em programação C++ são usadas para controlar o fluxo do programa com base em condições lógicas. Elas permitem que você execute diferentes blocos de código dependendo se uma condição é verdadeira ou falsa.
A condição é uma expressão booleana que é avaliada como verdadeira ou falsa.
Se a condição for verdadeira, o bloco de código dentro do primeiro par de chaves é executado.
Se a condição for falsa, o bloco de código dentro do segundo par de chaves (opcional) é executado.
Os laços (ou estruturas) de repetição (loops) em programação C++ permitem executar um bloco de código várias vezes enquanto uma condição for verdadeira. Existem três tipos principais de loops em C++: for, while e do-while. Eles permitem automatizar a repetição de tarefas e facilitar o processamento de conjuntos de dados.
O laço “for” é usado quando você sabe antecipadamente quantas vezes o bloco de código deve ser executado. Ele é composto por três partes: inicialização, condição de continuação e expressão de atualização. A inicialização é executada apenas uma vez no início do loop. A condição de continuação é verificada a cada iteração para determinar se o loop deve continuar. A expressão de atualização é executada após cada iteração.
Nesse exemplo, o loop “for” imprimirá os números de 0 a 4, pois a condição de continuação é “i < 5” e a expressão de atualização é “i++”.
O laço “while” é usado quando você deseja repetir um bloco de código enquanto uma condição for verdadeira. A condição é verificada no início de cada iteração. A condição é avaliada antes de cada iteração. Se a condição for verdadeira, o bloco de código é executado; caso contrário, o loop é interrompido.
Nesse exemplo, o loop “while” imprimirá os números de 0 a 4, pois a condição é “i < 5” e a variável “i” é incrementada dentro do loop.
O laço “do-while” é semelhante ao laço “while”, mas a condição é verificada após cada iteração. Isso garante que o bloco de código seja executado pelo menos uma vez, mesmo se a condição for falsa inicialmente.
O bloco de código é executado primeiro e, em seguida, a condição é verificada. Se a condição for verdadeira, o loop continua; caso contrário, o loop é interrompido.
Nesse exemplo, o loop “do-while” imprimirá os números de 0 a 4, mesmo que a condição seja falsa inicialmente.
O controle de fluxo em programação C++ permite gerenciar a execução do código e, em certos casos, interromper a execução de um loop ou sair de um bloco condicional antes de sua conclusão normal. O comando “break” é um dos recursos utilizados para interromper a execução de um loop ou sair de um bloco condicional.
O comando “break” é usado dentro de um loop (como for, while ou do-while) ou em uma estrutura condicional (como if, switch) para sair imediatamente do loop ou do bloco condicional, sem executar o restante do código dentro deles.
Aqui está um exemplo de uso do comando “break” em um loop “while”:
Nesse exemplo, o loop “while” imprime os valores de “i” até que “i” seja igual a 5. Quando a condição “i == 5” é satisfeita, o comando “break” é executado, interrompendo a execução do loop, e o programa continua a partir do próximo ponto após o loop.
Da mesma forma, o comando “break” também pode ser usado dentro de uma estrutura condicional “switch” para sair do bloco de código do “switch” antes que todas as condições sejam verificadas.
O comando “break” é útil para controlar o fluxo do programa em determinadas situações, permitindo que você saia de um loop ou bloco condicional quando uma determinada condição for atendida.
O controle de fluxo em programação C++ permite gerenciar a execução do código de forma mais granular. Além do comando “break”, outro comando importante é o “continue”. O comando “continue” é usado dentro de um loop para pular a iteração atual e continuar para a próxima iteração.
Quando o comando “continue” é encontrado dentro de um loop, o restante do código dentro do loop para a iteração atual é ignorado, e o loop prossegue para a próxima iteração, pulando qualquer código restante dentro do loop para essa iteração específica.
Aqui está um exemplo de uso do comando “continue” em um loop “for”:
Nesse exemplo, o loop “for” imprime os valores de “i” de 0 a 4, mas quando “i” é igual a 2, o comando “continue” é executado, pulando o restante do código dentro do loop para essa iteração. Como resultado, o número 2 não será impresso na saída.
O comando “continue” é útil quando você deseja pular uma iteração específica do loop com base em uma condição e continuar a execução do loop com as próximas iterações.
Lembre-se de que o uso do comando “continue” deve ser cuidadoso para evitar loops infinitos ou loops que não progridem corretamente. Certifique-se de que o comando “continue” seja colocado dentro de uma condição apropriada para evitar problemas de lógica no seu código.
Na programação C++, a declaração de arrays e strings é fundamental para armazenar coleções de dados, sejam eles números, caracteres ou sequências de caracteres. Novamente, vamos entender melhor!
Um array unidimensional é uma coleção de elementos do mesmo tipo organizados em uma única dimensão.
O tamanho do array indica quantos elementos ele pode armazenar. Os índices dos elementos começam em 0 e vão até (tamanho – 1). Você pode acessar elementos individuais do array usando os índices.
Os arrays multidimensionais são matrizes de elementos do mesmo tipo de dado organizados em duas ou mais dimensões.
Você pode pensar em um array multidimensional como uma tabela com linhas e colunas. Os índices dos elementos seguem a convenção de começar em 0 para cada dimensão. Por exemplo:
Você pode acessar elementos individuais do array multidimensional usando os índices correspondentes a cada dimensão.
Além disso, é possível ter arrays multidimensionais com mais de duas dimensões, como um array tridimensional ou com mais dimensões, seguindo a mesma lógica de declaração e acesso aos elementos.
Strings são sequências de caracteres utilizadas para representar texto em programação C++. Uma string é um tipo de dado que armazena uma coleção de caracteres em ordem sequencial. Em C++, as strings são representadas como arrays de caracteres terminados por um caractere nulo (‘�’).
As strings em C++ podem ser manipuladas e processadas usando funções e operações específicas para esse tipo de dado. Algumas operações comuns incluem a concatenação (junção) de strings, a comparação de strings e a obtenção do tamanho de uma string.
A biblioteca padrão de C++ fornece uma classe chamada “string” que facilita a manipulação de strings. Essa classe oferece diversos métodos e funções para realizar operações comuns em strings, como a concatenação usando o operador ‘+’ ou a obtenção do tamanho usando a função “length()”.
Aqui está um exemplo de uso da classe “string” em C++:
Nesse exemplo, as variáveis “nome” e “sobrenome” são do tipo “string”. O operador ‘+’ é usado para concatenar as strings e criar a string “nomeCompleto”. Em seguida, o tamanho da string é obtido usando a função “length()” e é exibido na saída.
As strings são amplamente utilizadas em C++ para trabalhar com texto e realizar manipulações, como entrada e saída de dados, processamento de arquivos, formatação de texto e muito mais. A classe “string” da biblioteca padrão de C++ fornece uma interface conveniente para manipular strings de forma eficiente e segura.
As funções são blocos de código que realizam uma tarefa específica e podem ser chamados/executados em diferentes partes de um programa. Elas ajudam a organizar o código, facilitam a reutilização de trechos de código e permitem uma abordagem modular na programação.
Em C++, as funções são declaradas e definidas antes de serem chamadas. Uma função é composta por um cabeçalho, que inclui o tipo de retorno da função, o nome da função e, opcionalmente, os parâmetros que ela recebe. Em seguida, vem o corpo da função, que contém as instruções a serem executadas.
Aqui está um exemplo básico de declaração e definição de uma função em C++:
Nesse exemplo, a função somar recebe dois parâmetros inteiros (a e b) e retorna a soma desses valores. No main(), a função somar é chamada passando os argumentos 3 e 5, e o valor retornado é armazenado na variável resultado.
As funções também podem ter parâmetros opcionais, chamados de argumentos padrão, que possuem valores predefinidos. Isso permite que a função seja chamada com menos argumentos se os valores padrão forem adequados.
Além disso, as funções podem ter um tipo de retorno diferente de void, que indica que a função não retorna nenhum valor. É possível retornar qualquer tipo de dado válido em C++, incluindo tipos primitivos, objetos personalizados e até mesmo ponteiros.
As funções podem ser úteis para executar ações repetitivas, realizar cálculos complexos, interagir com o usuário, manipular dados e muito mais. Elas ajudam a estruturar o código de forma organizada e modular, facilitando a manutenção e a compreensão do programa.
A utilização de ponteiros é uma característica poderosa da linguagem de programação C++. Os ponteiros permitem a manipulação direta de memória e são amplamente utilizados para acessar e alterar dados de forma eficiente.
Um ponteiro é uma variável que armazena o endereço de memória de outra variável. Em outras palavras, um ponteiro “aponta” para a localização de memória de um objeto. Ao utilizar ponteiros, é possível acessar o valor da variável apontada ou modificar seu conteúdo diretamente na memória.
Aqui está um exemplo básico de utilização de ponteiros em C++:
Nesse exemplo, é declarada uma variável “numero” e um ponteiro “ponteiro” que aponta para o endereço de memória dessa variável. Utilizando o operador de desreferência ‘*’, é possível acessar o valor apontado pelo ponteiro. Também é possível modificar o valor da variável “numero” indiretamente através do ponteiro.
Os ponteiros são particularmente úteis em situações em que a manipulação direta de memória é necessária, como alocação dinâmica de memória, passagem de parâmetros por referência e trabalho com estruturas de dados mais complexas.
No entanto, é importante ter cuidado ao usar ponteiros, pois eles podem levar a erros como vazamento de memória, acesso a endereços inválidos e comportamento indefinido. É recomendado entender bem como os ponteiros funcionam e aplicar boas práticas de programação para garantir a manipulação segura da memória.
As classes em programação C++ são construções fundamentais para a implementação de programação orientada a objetos. Uma classe é uma estrutura que define um tipo de dado personalizado, que pode incluir dados (atributos) e funções (métodos) relacionados a esse tipo.
As classes são criadas usando a palavra-chave “class” seguida pelo nome da classe. Os atributos e métodos são declarados dentro da classe e podem ser públicos (acessíveis por qualquer parte do programa), privados (acessíveis apenas dentro da classe) ou protegidos (acessíveis dentro da classe e suas subclasses).
Aqui está um exemplo básico de definição de uma classe em C++:
Nesse exemplo, a classe “Pessoa” possui dois atributos privados: “nome” e “idade”. Ela também possui quatro métodos públicos: “setNome”, “getNome”, “setIdade” e “getIdade”, que permitem alterar e obter os valores dos atributos.
Após definir uma classe, você pode criar objetos dessa classe usando a sintaxe: NomeDaClasse nomeDoObjeto;
Por exemplo:
Nesse exemplo, criamos um objeto “pessoa1” da classe “Pessoa” e usamos os métodos para definir e obter os valores dos atributos.
As classes permitem a criação de estruturas mais complexas e encapsulam dados e funcionalidades relacionadas em um único objeto. Elas são essenciais para a programação orientada a objetos, permitindo a abstração, reutilização de código e organização do programa em unidades lógicas.
Herança, sobrecarga e polimorfismo são conceitos importantes na programação orientada a objetos e são amplamente utilizados em C++.
Vamos entender cada um deles:
A herança é um conceito que permite criar uma nova classe (chamada de classe derivada) a partir de uma classe existente (chamada de classe base). A classe derivada herda os atributos e métodos da classe base e pode adicionar ou modificar seu comportamento.
A herança é estabelecida usando a palavra-chave “class” seguida pelo nome da classe derivada e, em seguida, pela palavra-chave “public” e o nome da classe base. A classe derivada pode acessar os membros públicos da classe base.
Exemplo:
Nesse exemplo, a classe “Cachorro” é derivada da classe “Animal”. A classe “Cachorro” herda o método “comer()” da classe base e adiciona o método “latir()”.
Já a sobrecarga de funções permite que você defina várias funções com o mesmo nome, mas com diferentes parâmetros. Isso significa que você pode ter várias versões da mesma função, cada uma executando uma tarefa diferente, mas todas compartilhando o mesmo nome.
A sobrecarga de funções é útil quando você deseja realizar operações semelhantes em diferentes tipos de dados ou com diferentes números de argumentos.
Exemplo:
Nesse exemplo, temos duas funções com o nome “soma”, mas uma recebe dois inteiros como argumentos e a outra recebe dois números de ponto flutuante. O compilador diferencia as duas versões com base nos tipos de argumentos passados.
Por fim, o polimorfismo é a capacidade de um objeto ser tratado de maneiras diferentes com base no contexto em que é utilizado. Ele permite que uma classe base seja usada para se referir a objetos de suas classes derivadas.
O polimorfismo é alcançado através de funções virtuais e ponteiros ou referências para objetos da classe base.
Exemplo:
Nesse exemplo, temos uma classe base “Animal” com um método virtual “fazerSom”. A classe derivada “Cachorro” sobrescreve esse método. A função “chamarFazerSom” recebe um ponteiro para um objeto “Animal” e chama o método “fazerSom”. Se o objeto apontado for um objeto “Cachorro”, o método “fazerSom” da classe “Cachorro” será executado.
Esses conceitos são fundamentais na programação orientada a objetos e permitem criar código mais flexível, reutilizável e modular. A herança permite a criação de hierarquias de classes, a sobrecarga de funções permite a flexibilidade na chamada de funções e o polimorfismo permite o tratamento de objetos de diferentes classes de forma uniforme.
Gostaríamos de agradecer pela participação no nosso curso de programação C++.
Esperamos que você tenha adquirido conhecimentos valiosos e habilidades práticas ao longo deste curso.
A programação C++ é uma habilidade importante no mundo da tecnologia, e esperamos que você possa aplicar o que aprendeu para criar programas robustos, eficientes e de alta qualidade.
Para receber os certificados de conclusão do curso, clique no botão abaixo no rodapé. Eles custam apenas R$47,00 e chegarão em seu e-mail em poucos minutos após aprovação do pedido.
Agradecemos novamente por escolher o nosso curso e desejamos a você muito sucesso na sua jornada como programador C++.
Já finalizamos nosso curso! Esperamos que tenha sido rápido e prático para você.
Esperamos também que as informações e conhecimentos compartilhados ao longo deste curso tenham sido valiosos para você.
Agora você pode solicitar todos os certificados de conclusão desse curso no botão verde abaixo. Por apenas R$47,00 você recebe os vários certificados de conclusão deste curso.
Os certificados são enviados em formato PDF para seu e-mail informado no pedido em poucos minutos após aprovação do pedido.
Você pode usá-los para fins de recrutamento e seleção, entrega de horas extracurriculares na faculdade e para entrega prova de títulos em concursos públicos (mediante edital).
Desejamos a você muito sucesso!
Pague 1 e receba 9 certificados em seu nome (apenas R$47,00):