Entendendo C++: Sintaxe Básica e Fundamentos da Orientação a Objetos
Quando consideramos um programa C++, ele pode ser definido como uma coleção de objetos que se comunicam invocando os métodos uns dos outros. Vamos analisar brevemente o que significam classe, objeto, métodos e variáveis de instância.
Objeto — Objetos têm estados e comportamentos. Exemplo: Um cachorro tem estados — cor, nome, raça — e comportamentos — abanar o rabo, latir, comer. Um objeto é uma instância de uma classe.
Classe — Uma classe pode ser definida como um modelo/blueprint que descreve os comportamentos/estados que objetos do seu tipo suportam.
Métodos — Um método é basicamente um comportamento. Uma classe pode conter muitos métodos. É nos métodos que a lógica é escrita, dados são manipulados e todas as ações são executadas.
Variáveis de Instância — Cada objeto tem seu conjunto único de variáveis de instância. O estado de um objeto é criado pelos valores atribuídos a essas variáveis de instância.
Estrutura de Programa C++
Vamos ver um código simples que imprimiria as palavras Hello World.
#include <iostream>
using namespace std;
// main() é onde a execução do programa começa.
int main() {
cout << "Hello World"; // imprime Hello World
return 0;
}
Vamos analisar as várias partes do programa acima:
A linguagem C++ define vários headers (cabeçalhos), que contêm informações necessárias ou úteis ao seu programa. Para este programa, o header <iostream> é necessário.
A linha using namespace std; diz ao compilador para usar o namespace std. Namespaces são uma adição relativamente recente ao C++.
A próxima linha '// main() é onde a execução do programa começa.' é um comentário de linha única disponível em C++. Comentários de linha única começam com // e terminam no final da linha.
A linha int main() é a função principal onde a execução do programa começa.
A próxima linha cout << "Hello World"; faz com que a mensagem "Hello World" seja exibida na tela.
A próxima linha return 0; termina a função main() e faz com que ela retorne o valor 0 ao processo chamador.
Compilar e Executar Programa C++
Vamos ver como salvar o arquivo, compilar e executar o programa. Siga os passos abaixo:
Abra um editor de texto e adicione o código acima.
Salve o arquivo como: hello.cpp
Abra um prompt de comando e vá para o diretório onde salvou o arquivo.
Digite 'g++ hello.cpp' e pressione enter para compilar seu código. Se não houver erros, o prompt de comando passará para a próxima linha e gerará o arquivo executável a.out.
Agora, digite './a.out' para executar seu programa.
Você verá 'Hello World' impresso na janela.
$ g++ hello.cpp $ ./a.out Hello World
Certifique-se de que o g++ está no seu PATH e que você está executando no diretório contendo o arquivo hello.cpp.
Você pode compilar programas C/C++ usando makefile. Para mais detalhes, consulte nosso 'Tutorial de Makefile'.
Ponto e Vírgula e Blocos em C++
Em C++, o ponto e vírgula é um terminador de instrução. Ou seja, cada instrução individual deve terminar com ponto e vírgula. Indica o fim de uma entidade lógica.
Por exemplo, a seguir estão três instruções diferentes:
x = y; y = y + 1; add(x, y);
Um bloco é um conjunto de instruções logicamente conectadas cercadas por chaves de abertura e fechamento. Por exemplo:
{
cout << "Hello World"; // imprime Hello World
return 0;
}
C++ não reconhece o fim da linha como terminador. Por esse motivo, não importa onde você coloque uma instrução em uma linha. Por exemplo:
x = y; y = y + 1; add(x, y);
é o mesmo que
x = y; y = y + 1; add(x, y);
Identificadores em C++
Um identificador C++ é um nome usado para identificar uma variável, função, classe, módulo ou qualquer outro item definido pelo usuário. Um identificador começa com uma letra A-Z ou a-z ou um underscore (_) seguido por zero ou mais letras, underscores e dígitos (0-9).
C++ não permite caracteres de pontuação como @, $ e % dentro de identificadores. C++ é uma linguagem de programação case-sensitive. Assim, Manpower e manpower são dois identificadores diferentes em C++.
Aqui estão alguns exemplos de identificadores aceitáveis:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
Palavras-chave do C++
A lista a seguir mostra as palavras reservadas em C++. Estas palavras reservadas não podem ser usadas como nomes de constantes, variáveis ou qualquer outro identificador.
| asm | else | new | this |
| auto | enum | operator | throw |
| bool | explicit | private | true |
| break | export | protected | try |
| case | extern | public | typedef |
| catch | false | register | typeid |
| char | float | reinterpret_cast | typename |
| class | for | return | union |
| const | friend | short | unsigned |
| const_cast | goto | signed | using |
| continue | if | sizeof | virtual |
| default | inline | static | void |
| delete | int | static_cast | volatile |
| do | long | struct | wchar_t |
| double | mutable | switch | while |
| dynamic_cast | namespace | template |
Trigrafos
Alguns caracteres têm uma representação alternativa, chamada de sequência trigrafo. Um trigrafo é uma sequência de três caracteres que representa um único caractere e a sequência sempre começa com dois pontos de interrogação.
Trigrafos são expandidos em qualquer lugar que apareçam, incluindo dentro de literais de string e caracteres, em comentários e em diretivas de pré-processador.
Seguem as sequências trigrafo mais usadas:
| Trigrafo | Substituição |
|---|---|
| ??= | # |
| ??/ | \ |
| ??' | ^ |
| ??( | [ |
| ??) | ] |
| ??! | | |
| ??< | { |
| ??> | } |
| ??- | ~ |
Nem todos os compiladores suportam trigrafos e eles não são recomendados devido à sua natureza confusa.
Espaço em Branco em C++
Uma linha contendo apenas espaço em branco, possivelmente com um comentário, é conhecida como linha em branco, e o compilador C++ a ignora totalmente.
Espaço em branco é o termo usado em C++ para descrever espaços, tabs, caracteres de nova linha e comentários. O espaço em branco separa uma parte de uma instrução de outra e permite que o compilador identifique onde um elemento em uma instrução, como int, termina e o próximo elemento começa.
Instrução 1
int age;
Na instrução acima, deve haver pelo menos um caractere de espaço em branco (geralmente um espaço) entre int e age para que o compilador consiga distingui-los.
Instrução 2
fruit = apples + oranges; // Obtém o total de frutas
Na instrução 2 acima, nenhum caractere de espaço em branco é necessário entre fruit e =, ou entre = e apples, embora você possa incluí-los para fins de legibilidade.
Linguagem C
- Dominando Entrada e Saída em C++: Guia Prático
- Dominando Operadores em C++: Guia Completo com Exemplos Práticos
- Comentários em C++: Boas Práticas para Código Legível e Manutenível
- Dominando Streams em C++: cout, cin, cerr, clog – Guia Prático
- Fundamentos de Java: Dominando a Sintaxe Básica
- Dominando a Sintaxe Básica do C: Tokens, Estrutura e Ponto e Vírgula
- Linguagem de Programação C++: Visão Geral e Principais Características
- Dominando Comentários em C++: Boas Práticas e Sintaxe
- Constantes e Literais em C++: Tipos, Sintaxe e Boas Práticas
- Guia Completo de Operadores em C++: Tipos, Uso e Boas Práticas