Lista de exemplos de código C++
Página 1 de 1
Lista de exemplos de código C++
Este é um exemplo de um programa mínimo que faz nada. Ele começa sua execução e logo termina. A função main é definida como o ponto de início de qualquer programa C++.
Programa Olá Mundo
Gabaritos
Este é um exemplo da utilização de gabaritos para a substituição da seguinte macro de programação comumente utilizada em C, apesar de bastante insegura4 , para o retorno do maior entre dois elementos dados:
Este é um exemplo de polimorfismo resolvido em tempo de compilação de código, representando a sobrecarga de funções.
Este é um exemplo de polimorfismo resolvido em tempo de execução de código, representando funções virtuais.
Este é um exemplo de programa que utiliza elementos da Standard Template Library.
Busca de nomes dependente de argumento
O exemplo clássico de busca de nomes dependente de argumento, também chamada Koenig lookup, é mostrado abaixo:
Abaixo é mostrado um exemplo do tratamento de exceções. A divisão de um número por zero não é autorizada por processadores. Como possui uma variável como divisor, a função seguinte divisao_de_dez_por deve primeiramente tratar casos inválidos de entrada. Caso a estrada seja zero, uma exceção será lançada, e o código será redirecionado para o tratamento da exceção (indicado por catch).
Atenciosamente Equipe WP
- Código:
int main()
{
}
Programa Olá Mundo
- Código:
# include <iostream> // Necessário para std::cout e std::endl
int main()
{
std::cout << "Olá, Mundo!" << std::endl;
}
Gabaritos
Este é um exemplo da utilização de gabaritos para a substituição da seguinte macro de programação comumente utilizada em C, apesar de bastante insegura4 , para o retorno do maior entre dois elementos dados:
- Código:
// versão utilizando macros
# define max( x, y ) ( x > y ? (x) : (y) )
// versão utilizando gabaritos, muito mais segura e com checagem de tipo
template <typename T>
T max(T x, T y)
{
return (x > y) ? x : y;
}
Este é um exemplo de polimorfismo resolvido em tempo de compilação de código, representando a sobrecarga de funções.
- Código:
extern void EnviaTrabalhoParaImpressora( TrabalhoTexto *, ImpressoraLaser * );
extern void EnviaTrabalhoParaImpressora( TrabalhoTexto *, ImpressoraTinta * );
extern void EnviaTrabalhoParaImpressora( TrabalhoHTML *, ImpressoraLaser * );
extern void EnviaTrabalhoParaImpressora( TrabalhoHTML *, ImpressoraTinta * );
Este é um exemplo de polimorfismo resolvido em tempo de execução de código, representando funções virtuais.
- Código:
# include <iostream>
class Passaro // classe base
{
public:
virtual void MostraNome()
{
std::cout << "um passaro";
}
virtual ~Passaro() {}
};
class Cisne: public Passaro // Cisne é um pássaro
{
public:
void MostraNome()
{
std::cout << "um cisne"; // sobrecarrega a função virtual
}
};
int main()
{
Passaro* passaro = new Cisne;
passaro->MostraNome(); // produz na saída "um cisne", e não "um pássaro"
delete passaro;
}
Este é um exemplo de programa que utiliza elementos da Standard Template Library.
- Código:
# include <iostream> // std::cout
# include <vector> // std::vector<>
# include <map> // std::map<> and std::pair<>
# include <algorithm> // std::for_each()
# include <string> // std::string
using namespace std; // importa o espaço de nomes "std" ao espaço de nomes global
void mostra_quantidade_de_itens(pair< string const, vector<string> > const& pessoa)
{
// "pessoa" é um par de objetos: pessoa.first é o nome da pessoa,
// pessoa.second é uma lista dos itens da pessoa (arranjo de cadeias de caracteres)
cout << pessoa.first << " esta carregando " << pessoa.second.size() << " itens\n";
}
int main()
{
// Declara um mapeamento com chaves de cadeias de caracteres e arranjos de cadeias
// de caracteres como dado
map< string, vector<string> > itens;
// Adiciona algumas pessoas no mapeamento e permite que elas carreguem alguns itens
itens["Anya"].push_back("livro");
itens["Dimitri"].push_back("computador pessoal");
itens["Anya"].push_back("casaco");
// Percorre por todos os itens do container
for_each(itens.begin(), itens.end(), mostra_quantidade_de_itens);
}
Busca de nomes dependente de argumento
O exemplo clássico de busca de nomes dependente de argumento, também chamada Koenig lookup, é mostrado abaixo:
- Código:
namespace NS
{
class A {};
void f( A ) {}
}
m
int main()
{
NS::A a;
f( a ); // invoca NS::f
}
Abaixo é mostrado um exemplo do tratamento de exceções. A divisão de um número por zero não é autorizada por processadores. Como possui uma variável como divisor, a função seguinte divisao_de_dez_por deve primeiramente tratar casos inválidos de entrada. Caso a estrada seja zero, uma exceção será lançada, e o código será redirecionado para o tratamento da exceção (indicado por catch).
- Código:
# include <iostream>
using namespace std;
int divisao_de_dez_por( int divisor )
{
// prevendo entrada inválida
if( divisor == 0 )
{
throw "divisão por zero";
}
return 10 / divisor;
}
int main()
{
int div, resultado;
cin >> div; // obtém do usuário um número inteiro
try
{
resultado = divisao_de_dez_por( div );
}
catch( const char *e )
{ // código será redirecionado para cá caso ( div == 0 )
resultado = 0; // recuperação do sistema
cout << "Houve uma exceção: " << e << endl;
}
}
- Código:
# include <iostream> // biblioteca necessária para a função std::cout
using namespace std; // declaração global do espaço de nomes
int main( int argc, char *argv[] )
{
int arg; // declara uma variável inteiro com o nome arg
// atribui-se 1 a arg; enquanto arg for menor que argc, executa-se o bloco e arg é incrementado em cada iteração
for( arg = 1; arg < argc; arg++ )
{
if( argv[arg][0] != '-' )
{
break;
}
switch( argv[arg][1] )
{
case 'r': // caso possua um r após o hífen
cout << "Argumento -r usado\n\n";
break;
case 'v': // caso possua um v após o hífen
cout << "Argumento -v usado\n\n";
break;
default: // este é o valor de escape e sua respectiva mensagem:
cout << "Nenhum argumento foi usado\n\n";
break;
}
}
}
Atenciosamente Equipe WP
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|