Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
temcla01.cpp
#include <iostream>
using namespace std;
class xnumeros // Declara‡Æo da classe xnumeros
{
public:
xnumeros(); // Prot¢tipo do construtor
~xnumeros(); // Prot¢tipo do destrutor
void atrib(); // Prot¢tipo do m‚todo atrib()
void exibe(); // Prot¢tipo do m‚todo exibe()
int soma(); // Prot¢tipo do m‚todo soma()
private:
int matriz[9];
};
int main ()
{
xnumeros numeros1; // Cria o objeto numeros1
numeros1.atrib(); // Chama o m‚todo atrib()
numeros1.exibe(); // Chama o m‚todo exibe()
// Chama o m‚todo soma()
cout << "Somat¢rio: " << numeros1.soma() << endl;
return 0;
}
// Defini‡Æo do m‚todo atrib(). Atribui os valores de 0 a 8
// ao array
void xnumeros :: atrib()
{
int i;
for (i = 0;i < 9;i++)
matriz[i] = i;
}
// Defini‡Æo do m‚todo exibe(). Exibe os valores do array
void xnumeros :: exibe()
{
int i;
cout << "Valores: ";
for (i = 0; i < 9; i++)
cout << matriz[i] << " ";
cout << endl;
}
// Defini‡Æo do m‚todo soma(). Soma os valores do array
int xnumeros :: soma()
{
int somat = 0;
for (int i = 0; i < 9; i++)
somat = somat + matriz[i];
return somat;
}
xnumeros :: xnumeros() // Defini‡Æo do construtor
{
}
xnumeros :: ~xnumeros() // Defini‡Æo do destrutor
{
}
arqbin01.cpp
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int vetor[10],i;
for (i = 0;i < 10;i++)
vetor[i] = i;
ofstream saida1("bin1",ios_base::out | ios_base::binary);
saida1.write((char *) &vetor,sizeof(int) * 10);
saida1.close(); // Fecha o arquivo
for (i = 0;i < 10;i++)
vetor[i] = 0;
ifstream entrada("bin1",ios_base::in | ios_base::binary);
entrada.read((char *) &vetor,sizeof(int) * 10);
for (i = 0;i < 10;i++)
cout << vetor[i] << " ";
cout << endl;
entrada.close(); // Fecha o arquivo
return 0;
}
arqbin02.cpp
#include <iostream>
#include <fstream>
#include <cctype> // Para a fun‡Æo toupper()
using namespace std;
int main()
{
struct pessoa // Gabarito de estrutura
{
int idade;
char nome[20];
float salario1;
};
pessoa pessoa1; // Vari vel-estrutura pessoa1
char resp = 'S';
short int i,qtde = 0;
ofstream saida1("bin2",ios_base::out | ios_base::binary);
while (resp == 'S')
{
cout << " Idade: ";
cin >> pessoa1.idade;
cin.get();
cout << " Nome: ";
cin.get(pessoa1.nome,20);
cout << " Sal rio: ";
cin >> pessoa1.salario1;
saida1.write((char *) &pessoa1,sizeof(pessoa1));
qtde++;
cout << "Continuar? (S/N): ";
cin >> resp;
resp = toupper(resp);
}
saida1.close();
ifstream entrada("bin2",ios_base::in | ios_base::binary);
cout << endl;
cout << "Dados do arquivo";
for (i = 0;i < qtde;i++)
{
entrada.read((char *) &pessoa1,sizeof(pessoa1));
cout << endl;
cout << " Idade: " << pessoa1.idade << endl;
cout << " Nome: " << pessoa1.nome << endl;
cout << " Sal rio: " << pessoa1.salario1 << endl;
}
entrada.close();
return 0;
}
arqbin03.cpp
#include <iostream>
#include <fstream>
#include <cctype> // Para fun‡Æo toupper()
using namespace std;
class pessoa // Declara‡Æo da classe pessoa
{
public:
~pessoa(); // Prot¢tipo do destrutor
void le_dados(); // Prot¢tipo do m‚todo le_dados()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char nome[20];
short int idade;
};
int main()
{
char resp = 'S';
short int i,qtde = 0;
// Cria o objeto pessoa1. Utiliza o construtor default
pessoa pessoa1;
ofstream saida1("bin3",ios_base::out | ios_base::binary);
while (resp == 'S')
{
pessoa1.le_dados();
saida1.write((char *) &pessoa1,sizeof(pessoa1));
qtde++;
cout << "Continuar? (S/N): ";
cin >> resp;
resp = toupper(resp);
cin.get();
}
saida1.close();
ifstream entrada("bin3",ios_base::in | ios_base::binary);
cout << endl;
cout << "Dados do arquivo";
for (i = 0;i < qtde;i++)
{
cout << endl;
entrada.read((char *) &pessoa1,sizeof(pessoa1));
pessoa1.exibe();
}
entrada.close();
return 0;
}
// Defini‡Æo do m‚todo le_dados()
void pessoa :: le_dados()
{
cout << " Nome: ";
cin.get(nome,20);
cout << " Idade: ";
cin >> idade;
}
// Defini‡Æo do m‚todo exibe()
void pessoa :: exibe()
{
cout << " Nome: " << nome << endl;
cout << " Idade: " << idade << endl;
}
// Defini‡Æo do destrutor
pessoa :: ~pessoa()
{
}
arqinp01.cpp
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
char Lin1[16], Lin2[16], Lin3[16];
ifstream arqtexto("teste2");
arqtexto.getline(Lin1,16); // Leitura com getline()
arqtexto.getline(Lin2,16);
arqtexto.getline(Lin3,16);
arqtexto.close();
cout << Lin1 << endl;
cout << Lin2 << endl;
cout << Lin3 << endl;
return 0;
}
arqinp02.cpp
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
char linha[16];
ifstream arqtexto("teste2");
arqtexto.getline(linha,16); // Leitura com getline()
while (arqtexto.eof() == false) // Teste de eof
{
cout << linha << endl;
arqtexto.getline(linha,16);
}
arqtexto.close();
return 0;
}
arqinp03.cpp
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
char linha[16];
ifstream arqtexto("teste2");
arqtexto >> linha; // Leitura com o operador >>
while (arqtexto.eof() == false) // Teste de eof
{
cout << linha << endl;
arqtexto >> linha;
}
arqtexto.close();
return 0;
}
arqinp04.cpp
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
char ch;
ifstream arqtexto("teste2");
arqtexto >> ch; // Leitura com o operador >>
while (arqtexto.eof() == false) // Teste de eof
{
cout << ch << endl;
arqtexto >> ch;
}
arqtexto.close();
return 0;
}
arqout01.cpp
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ofstream arqtexto("teste2");
arqtexto << "Linha 1" << endl;
arqtexto << "Linha 2" << endl;
arqtexto << "Linha 3" << endl;
arqtexto.close();
return 0;
}
arqout02.cpp
#include <iostream>
#include <fstream>
#include <cctype> // Para a fun‡Æo toupper()
using namespace std;
int main()
{
char linha[16];
char resp = 'S';
ofstream arqtexto("teste2",ios_base::app);
while (resp == 'S')
{
cout << "Digite uma linha de texto" << endl;
cin.get(linha,16); // Ou cin.getline(linha,16);
arqtexto << linha << endl;
cout << "Continuar? (S/N): ";
cin >> resp;
resp = toupper(resp);
cin.get();
}
arqtexto.close();
return 0;
}
array01.cpp
#include <iostream>
using namespace std;
int main()
{
int numeros[10],k;
for (k = 0;k < 10;k++)
numeros[k] = k + 1;
for (k = 0;k < 10;k++)
cout << numeros[k] << " ";
cout << endl;
return 0;
}
arraya01.cpp
#include <iostream>
using namespace std;
int somar(int [ ],int qtd); // Prot¢tipo da fun‡Æo somar()
int main()
{
const int Kelem = 5; // Constante simb¢lica
int pares[Kelem] = {2,4,6,8,10},result;
result = somar(pares,Kelem); // Chama a fun‡Æo somar()
cout << "Somat¢rio: " << result << endl;
return 0;
}
int somar(int xpares[ ],int qtde1) // Defini‡Æo da fun‡Æo somar()
{
int k,soma = 0;
for (k = 0;k < qtde1;k++)
soma = soma + xpares[k];
return soma;
}
arraya02.cpp
#include <iostream>
using namespace std;
int somar(const int [ ]); // Prot¢tipo da fun‡Æo somar()
const
int Kelem = 5; // Constante simb¢lica externa
int main()
{
int pares[Kelem] = {2,4,6,8,10},result;
result = somar(pares);
cout << "Somat¢rio: " << result << endl;
return 0;
}
int somar(const int xpares[ ]) // Defini‡Æo da fun‡Æo somar()
{
int k,soma = 0;
for (k = 0;k < Kelem;k++)
soma = soma + xpares[k];
return soma;
}
arrayb01.cpp
#include <iostream>
using namespace std;
int main()
{
int j,k,num = 0;
int valores[4][3];
for (j = 0;j < 4;j++) // for externo
for (k = 0;k < 3;k++) // for interno
{
num++;
valores[j][k] = num;
}
return 0;
}
arrayb02.cpp
#include <iostream>
using namespace std;
int somar(int [][2],int qtd); // Prot¢tipo da fun‡Æo somar()
int main()
{
const int Kelem = 3; // Constante simb¢lica
int pares[Kelem][2] = { {2,4}, {6,8}, {10,12} },result;
result = somar(pares,Kelem); // Chama a fun‡Æo somar()
cout << "Somat¢rio: " << result << endl;
return 0;
}
int somar(int xpares[][2],int qtde1) // Defini‡Æo da fun‡Æo somar()
{
int j,k,soma = 0;
for (k = 0;k < qtde1;k++)
for (j = 0;j < 2;j++)
soma = soma + xpares[k][j];
return soma;
}
arrayr01.cpp
#include <iostream>
using namespace std;
void somar_1(int &); // Prot¢tipo da fun‡Æo somar_1()
int main()
{
int pares[4] = {10, 20, 30, 40};
somar_1(pares[2]); // Chama a fun‡Æo somar_1()
return 0;
}
void somar_1(int & total) // Defini‡Æo da fun‡Æo somar_1()
{
total = total + 1;
cout << total << endl;
}
arrobj01.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
void atrib(); // Prot¢tipo do m‚todo atrib()
void exibe(int); // Prot¢tipo do m‚todo exibe()
private:
char modelo[7];
int anofab;
};
int main()
{
carro carros[2]; // Cria um array de objetos com 2 elementos
carros[0].atrib(); // Chama o m‚todo atrib()
carros[1].atrib(); // Chama o m‚todo atrib()
return 0;
}
// Defini‡Æo do m‚todo atrib(). Atribui valores ao array de objetos
void carro :: atrib()
{
static int numcar = 0;
strcpy(modelo, "Gol");
anofab = 2001;
numcar++;
exibe(numcar);
}
// Defini‡Æo do m‚todo exibe(). Exibe os valores do array de
// objetos carros
void carro :: exibe(int numcar1)
{
cout << "Objeto " << numcar1 << endl;
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl << endl;
}
arrobj02.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
carro(char *, int); // Prot¢tipo do construtor
~carro(); // Prot¢tipo do destrutor
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char modelo[7];
int anofab;
};
const int Kqtd = 2; // Constante simb¢lica
int main()
{
carro carros[Kqtd] =
{
carro("Ka",2000),
carro("Astra",2001),
};
for (int k = 0;k < Kqtd;k++)
{
carros[k].exibe();
cout << endl;
}
return 0;
}
// Defini‡Æo do m‚todo exibe(). Exibe os valores do array de
// objetos carros
void carro :: exibe()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl;
}
// Defini‡Æo do construtor
carro :: carro(char * model1,int ano1)
{
strcpy(modelo,model1);
anofab = ano1;
}
carro :: ~carro() // Defini‡Æo do destrutor
{
}
bitwis01.cpp
#include <iostream>
using namespace std;
int main()
{
short int item = 12;
cout << "Antes do deslocamento: " << item << endl;
item = item << 1;
cout << "Depois do deslocamento: " << item << endl;
return 0;
}
bitwis02.cpp
#include <iostream>
using namespace std;
int main()
{
unsigned short int item = 12;
cout << "Antes do deslocamento: " << item << endl;
item = item >> 1;
cout << "Depois do deslocamento: " << item << endl;
return 0;
}
bitwis03.cpp
#include <iostream>
using namespace std;
int main()
{
unsigned short int valor1 = 12;
cout << "Antes da nega‡Æo: " << valor1 << endl;
valor1 = ~valor1;
cout << "Depois da nega‡Æo: " << valor1 << endl;
return 0;
}
bitwis04.cpp
#include <iostream>
using namespace std;
int main()
{
signed short int valor1 = 12;
cout << "Antes da nega‡Æo: " << valor1 << endl;
valor1 = ~valor1;
cout << "Depois da nega‡Æo: " << valor1 << endl;
return 0;
}
bitwis05.cpp
#include <iostream>
using namespace std;
int main()
{
unsigned short int valor1 = 51,valor2 = 89,valor3;
valor3 = valor1 | valor2;
cout << "valor1 | valor2: " << valor3 << endl;
return 0;
}
bitwis06.cpp
#include <iostream>
using namespace std;
int main()
{
unsigned short int valor1 = 51,valor2 = 89,valor3;
valor3 = valor1 ^ valor2;
cout << "valor1 ^ valor2: " << valor3 << endl;
return 0;
}
bitwis07.cpp
#include <iostream>
using namespace std;
int main()
{
unsigned short int valor1 = 51,valor2 = 89,valor3;
valor3 = valor1 & valor2;
cout << "valor1 & valor2: " << valor3 << endl;
return 0;
}
cladin01.cpp
#include <iostream>
using namespace std;
class xstring // Declara‡Æo da classe xstring
{
public:
~xstring(); // Prot¢tipo do destrutor
void le_nome(); // Prot¢tipo do m‚todo le_nome()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char * texto; // Ponteiro para o string a ser digitado
// constante simb¢lica com escopo de classe
static const int comp = 21;
};
int main()
{
xstring nome; // Cria o objeto nome
nome.le_nome(); // Objeto nome chama o m‚todo le_nome()
cout << endl;
nome.exibe(); // Objeto nome chama o m‚todo exibe()
return 0;
}
// Defini‡Æo do m‚todo le_nome(). Lˆ dados do teclado.
void xstring :: le_nome()
{
texto = new char[comp];
cout << "Digite o seu nome (at‚ 20 caracteres): ";
cin.get(texto,comp);
}
// Defini‡Æo do m‚todo exibe(). Exibe o valor do objeto nome
void xstring :: exibe()
{
cout << "Ol , " << texto << endl;
}
xstring :: ~xstring() // Defini‡Æo do destrutor
{
cout << "Objeto " << texto << " destru¡do" << endl;
delete [ ] texto;
}
clamut01.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
char modelo[7];
mutable int anofab;
void exibe() const; // Prot¢tipo do m‚todo const exibe()
};
int main()
{
carro carro1; // Cria o objeto carro1
strcpy(carro1.modelo,"Gol");
carro1.anofab = 1999;
cout << "Objeto carro1" << endl;
carro1.exibe(); // Objeto carro1 chama o m‚todo exibe()
return 0;
}
void carro :: exibe() const // Exibe os valores do objeto carro1
{
cout << "Modelo: " << modelo << endl;
anofab = 8888;
cout << "Ano: " << anofab << endl;
}
class01.cpp
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
class carro // Declara‡Æo de classe na fun‡Æo main()
{
public: // Se‡Æo public
char modelo[7]; // Vari veis-membro p£blicas
int anofab;
// M‚todo p£blico definido dentro da classe
void exibe()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl;
}
};
carro carro1; // Cria‡Æo do objeto carro1
// Atribui valores ao objeto carro1
strcpy(carro1.modelo,"Gol");
carro1.anofab = 1999;
cout << "Objeto carro1" << endl;
carro1.exibe(); // Objeto carro1 chama o m‚todo exibe()
return 0;
}
class02.cpp
#include <iostream>
#include <cstring>
using namespace
std;
class carro // Declara‡Æo da classe carro (externa)
{
public: // Se‡Æo public
char modelo[7]; // Vari veis-membro p£blicas
int anofab;
// Prot¢tipo do m‚todo p£blico exibe()
void exibe();
};
int main()
{
carro carro1; // Cria o objeto carro1
// Atribui valores ao objeto carro1
strcpy(carro1.modelo,"Gol");
carro1.anofab = 1999;
cout << "Objeto carro1" << endl;
carro1.exibe(); // Objeto carro1 chama o m‚todo exibe()
return 0;
}
// Defini‡Æo do m‚todo exibe(), externo … sua classe. Exibe os
// valores do objeto carro1
void carro :: exibe()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl;
}
class03.cpp
#include <iostream>
using namespace std;
class carro // Declara‡Æo da classe carro
{
public: // Se‡Æo public
void atrib(); // Prot¢tipo do m‚todo atrib()
void exibe(); // Prot¢tipo do m‚todo exibe()
private: // Se‡Æo private
char modelo[7]; // Vari veis-membro privadas
int anofab;
int numcar;
};
int main()
{
carro carro1; // Cria o objeto carro1
carro1.atrib(); // Objeto carro1 chama o m‚todo atrib()
carro1.exibe(); // Objeto carro1 chama o m‚todo exibe()
return 0;
}
// Lˆ dados do teclado e os atribui ao objeto carro1
void carro :: atrib()
{
cout << "Digite os dados do carro n§ ";
cin >> numcar;
cout << "Modelo: ";
cin >> modelo;
cout << "Ano: ";
cin >> anofab;
}
// Exibe os valores do objeto carro1
void carro :: exibe()
{
cout << endl;
cout << "Dados do carro n§ " << numcar << endl;
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl;
}
class04.cpp
#include <iostream>
#include <cstring>
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
char modelo[7];
void exibe1(); // Prot¢tipo do m‚todo exibe1()
void exibe2(); // Prot¢tipo do m‚todo exibe2()
};
int main()
{
carro carro1; // Cria o objeto carro1
// Atribui valores ao objeto carro1
strcpy(carro1.modelo,"Gol");
carro1.exibe1(); // Objeto carro1 chama o m‚todo exibe1()
return 0;
}
// Exibe os valores do objeto carro1
void carro :: exibe1()
{
cout << "Objeto carro1 - m‚todo exibe1()" << endl;
cout << "Modelo: " << modelo << endl;
carro::exibe2(); // Chamada qualificada
exibe2(); // Chamada nÆo qualificada
}
// Exibe os valores do objeto carro1
void carro :: exibe2()
{
cout << "Objeto carro1 - m‚todo exibe2()" << endl;
cout << "Modelo: " << modelo << endl;
}
class05.cpp
#include <iostream>
#include <cstring>
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
carro(char *,int); // Prot¢tipo do construtor
void exibe(); // Prot¢tipo do m‚todo exibe()
private: // Vari veis-membro privadas
char modelo[7];
int anofab;
};
int main()
{
// Cria o objeto carro1, chamando o construtor
carro carro1("Corsa",1999);
carro1.exibe(); // Objeto carro1 chama o m‚todo exibe()
return 0;
}
// Exibe os valores do objeto carro1
void carro :: exibe()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl;
}
// Defini‡Æo do construtor. Inicializa o objeto carro1
carro :: carro (char * modelo1,int ano1)
{
strcpy(modelo,modelo1);
anofab = ano1;
}
class06.cpp
#include <iostream>
#include <cstring>
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
carro(char *,int); // Prot¢tipo do construtor
~carro(); // Prot¢tipo do destrutor
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char modelo[7];
int anofab;
};
int main()
{
// Cria os objetos carro1 e carro2, chamando o construtor
carro carro1("Corsa", 1999);
carro carro2("Celta", 2000);
carro1.exibe(); // Objeto carro1 chama o m‚todo exibe()
carro2.exibe(); // Objeto carro2 chama o m‚todo exibe()
return 0;
}
// Exibe os valores dos objetos carro1 e carro2
void carro :: exibe()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl << endl;
}
// Defini‡Æo do construtor
carro :: carro (char * modelo1,int ano1)
{
strcpy(modelo,modelo1);
anofab = ano1;
}
carro :: ~carro() // Defini‡Æo do destrutor
{
// Os objetos sÆo destru¡dos na ordem inversa em que foram criados.
// A linha seguinte ilustra a execu‡Æo do destrutor. Um destrutor nÆo
// precisa ter instru‡äes
cout << "Destruindo o objeto ... " << modelo << endl;
}
class07.cpp
#include <iostream>
#include <cstring>
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
// Prot¢tipo do construtor default com valores default
carro(char * = "",int = 0);
~carro(); // Prot¢tipo do destrutor
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char modelo[7];
int anofab;
};
int main()
{
// Cria o objeto carro1, chamando o construtor
carro carro1("Corsa", 1999);
// Cria o objeto carro2 sem incializ -lo, por causa do construtor default
carro carro2;
carro1.exibe();
carro2.exibe();
return 0;
}
// Exibe os valores dos objetos carro1 e carro2
void carro :: exibe()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl << endl;
}
// Defini‡Æo do construtor
carro:: carro (char * model1,int ano1)
{
strcpy(modelo,model1);
anofab = ano1;
}
carro :: ~carro() // Defini‡Æo do destrutor
{
cout << "Destruindo o objeto ... " << modelo << endl;
}
class08.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
carro(char *, int); // Prot¢tipo do construtor
carro(); // Prot¢tipo do construtor default
~carro(); // Prot¢tipo do destrutor
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char modelo[7];
int anofab;
};
int main()
{
// Cria objeto, chamando o construtor nÆo-default
carro carro1("Corsa", 1999);
// Cria o objeto carro2 sem inicializ -lo, por causa do construtor
// default
carro carro2;
carro1.exibe();
carro2.exibe();
return 0;
}
void carro :: exibe()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl << endl;
}
// Defini‡Æo do construtor nÆo-default
carro :: carro (char * model1,int ano1)
{
strcpy(modelo,model1);
anofab = ano1;
}
carro :: carro() // Defini‡Æo do construtor default
{
}
carro :: ~carro() // Defini‡Æo do destrutor
{
cout << "Destruindo o objeto ... " << modelo << endl;
}
class09.cpp
#include <iostream>
#include <cstring>
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
carro(char *,char *); // Prot¢tipo do construtor
~carro(); // Prot¢tipo do destrutor
void exibe(); // Prot¢tipo do m‚todo exibe()
char marca[12];
private:
char modelo[7];
};
void lista(carro); // Prot¢tipo da fun‡Æo nÆo-membro lista()
void lista(carro *);
int main()
{
// Cria o objeto carro1, chamando o construtor
carro carro1("GM","Corsa");
cout << "Acesso pela fun‡Æo-membro exibe()" << endl;
carro1.exibe();
cout << endl;
cout << "Acesso pela fun‡Æo nÆo-membro lista()" << endl;
lista(carro1); // Objeto passado como argumento
return 0;
}
void carro :: exibe() // Defini‡Æo do m‚todo exibe()
{
cout << "Marca: " << marca << endl;
cout << "Modelo: " << modelo << endl;
}
void lista(carro c1) // Defini‡Æo da fun‡Æo nÆo-membro lista()
{
c1.exibe();
cout << "Marca: " << c1.marca
<< endl;
}
carro:: carro (char * marc1,char * model1) // Defini‡Æo do construtor
{
strcpy(marca,marc1);
strcpy(modelo,model1);
}
carro:: ~carro () // Defini‡Æo do destrutor
{
}
classm01.cpp
#include <iostream>
using namespace std;
void loop(); // Prot¢tipo da fun‡Æo loop()
int main()
{
cout << "Primeira chamada. ";
loop();
cout << "Segunda chamada. ";
loop();
return 0;
}
void loop() // Defini‡Æo da fun‡Æo loop()
{
int cont = 1; // Vari vel autom tica
static int somat = 0; // Vari vel est tica interna
for (;cont < 6;cont++)
somat = somat + cont;
cout << "Somat¢rio = " << somat << endl;
}
classm51.cpp
#include <iostream>
using namespace std;
float taxa = 0.12,saldo = 2.5;
void exibe();
int main()
{
exibe();
return 0;
}
classm52.cpp
#include <iostream>
using namespace std;
extern float taxa,saldo;
void exibe()
{
cout << "A taxa ‚ " << taxa << endl;
cout << "O saldo ‚ " << saldo << endl;
}
contin01.cpp
#include <iostream>
using namespace std;
int main()
{
int numero;
int somat = 0;
for (int k = 1;k < 6;k++)
{
cout << "Digite um n£mero inteiro: ";
cin >> numero;
if (numero < 0)
continue;
somat = somat + numero;
}
cout << "Somat¢rio: " << somat << endl;
return 0;
}
copcon01.cpp
#include <iostream>
#include <cstring>
using namespace std;
class hard // Declara‡Æo da classe hard
{
public:
hard(char *,float); // Prot¢tipo do construtor
~hard(); // Prot¢tipo do destrutor
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char marca[20];
float clock;
};
int main()
{
// Cria o objeto intel1, chamando o construtor
hard intel1("Intel Pentium 4",2.2);
intel1.exibe(); // Objeto intel1 chama o m‚todo exibe()
// Cria e inicializa novos objetos a partir do objeto intel1, chamando o
// construtor de c¢pia
hard intel2(intel1);
hard intel3 = intel1;
hard intel4 = hard(intel1);
hard *ptr = new hard(intel1);
intel2.exibe(); // Objeto intel2 chama o m‚todo exibe()
intel3.exibe(); // Objeto intel3 chama o m‚todo exibe()
intel4.exibe(); // Objeto intel4 chama o m‚todo exibe()
ptr -> exibe(); // Objeto an“nimo chama o m‚todo exibe()
delete ptr;
return 0;
}
void hard :: exibe() // Defini‡Æo do m‚todo exibe()
{
cout << "Marca: " << marca << endl;
cout << "Clock: " << clock << endl;
}
hard :: hard (char * marca1,float clock1) // Defini‡Æo do construtor
{
strcpy(marca,marca1);
clock = clock1;
}
hard :: ~hard() // Defini‡Æo do destrutor
{
cout << "Destruindo o objeto ... " << marca << endl;
}
copcon02.cpp
#include <iostream>
#include <cstring>
using namespace std;
class hard // Declara‡Æo da classe hard
{
public:
hard(char *,float); // Prot¢tipo do construtor
~hard(); // Prot¢tipo do destrutor
char marca[20];
float clock;
};
void exibe(hard); // Prot¢tipo da fun‡Æo exibe()
int main()
{
// Cria o objeto intel1, chamando o construtor
hard intel1("Intel Pentium 4",2.2);
exibe(intel1); // Chama a fun‡Æo exibe()
return 0;
}
hard :: hard (char * marca1,float clock1) // Defini‡Æo do construtor
{
strcpy(marca,marca1);
clock = clock1;
}
hard :: ~hard() // Defini‡Æo do destrutor
{
cout << "Destruindo o objeto ... " << marca << endl;
}
void exibe(hard intel11) // Defini‡Æo da fun‡Æo exibe()
{
cout << "Marca: " << intel11.marca << endl;
cout << "Clock: " << intel11.clock << endl;
}
desvir01.cpp
#include <iostream>
using namespace std;
class base1 // Declara‡Æo da classe-base
{
public:
~base1() // Defini‡Æo do destrutor nÆo-virtual
{
cout << "Destrutor classe-base" << endl;
}
};
// Declara‡Æo da classe derivada
class derivada1 : public base1
{
public:
~derivada1() // Defini‡Æo do destrutor
{
cout << "Destrutor classe derivada" << endl;
}
};
int main()
{
base1 *ptr = new derivada1;
delete ptr;
return 0;
}
enum01.cpp
#include <iostream>
using namespace std;
int main()
{
enum {azul,preto,vermelho};
int cod_cor;
cout << "Digite o c¢digo da cor (de 0 a 2): ";
cin >> cod_cor;
switch (cod_cor)
{
case azul: cout << "Azul" << endl; break;
case preto: cout << "Preto" << endl; break;
case vermelho: cout << "Vermelho" << endl; break;
}
return 0;
}
escape01.cpp
#include <iostream>
using namespace std;
int main ()
{
char letra1 = '\x043'; // Seq�ˆncia de escape hexadecimal
char letra2 = '\103'; // Seq�ˆncia de escape octal
cout << letra1 << "\n";
cout << letra2 << "\n";
cout << "\x043\x02B\x02B" << endl;
return 0;
}
esfor01.cpp
#include <fstream>
using namespace std;
int main()
{
int numero = 12;
float valor = -13.5;
char letra = 'Z';
char texto[9] = "Ano 2004";
ofstream saida1("teste1"); // Abre o arquivo
// Grava no arquivo teste
saida1 << numero << endl;
saida1 << valor << endl;
saida1 << letra << endl;
saida1 << texto << endl;
saida1.close(); // Fecha o arquivo
return 0;
}
esfor02.cpp
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int numero;
float valor;
char letra;
char texto[9];
ifstream entrada("teste1"); // Abre o arquivo
entrada >> numero >> valor >> letra >> texto;
cout << numero << endl;
cout << valor << endl;
cout << letra << endl;
cout << texto << endl;
entrada.close(); // Fecha o arquivo
return 0;
}
exc01.cpp
#include <iostream>
using namespace std;
int main()
{
int dividendo,divisor,quociente;
cout << "Digite o dividendo: ";
cin >> dividendo;
cout << "Digite o divisor: ";
cin >> divisor;
try // In¡cio do bloco try
{
if (divisor == 0)
throw "Tentativa de divisÆo por zero";
quociente = dividendo / divisor;
cout << "Quociente: " << quociente << endl;
return 0;
} // Fim do bloco try
catch (const char * msg) // In¡cio do bloco catch
{
cout << msg << endl;
} // Fim do bloco catch
return 1;
}
exc02.cpp
#include <iostream>
using namespace std;
int main()
{
int dividendo,divisor,quociente;
cout << "Digite o dividendo: ";
cin >> dividendo;
cout << "Digite o divisor: ";
cin >> divisor;
try // Bloco try
{
if (divisor == 0)
throw "Tentativa de divisÆo por zero"; // throw 1
if (divisor < 0)
throw 8888; // throw 2
quociente = dividendo / divisor;
cout << "Quociente: " << quociente << endl;
return 0;
}
catch (const char * msg) // Bloco catch 1
{
cout << msg << endl;
}
catch (int erro) // Bloco catch 2
{
cout << "Erro: " << erro << endl;
}
cout << "Fim" << endl;
return 1;
}
exc03.cpp
#include <iostream>
#include <cmath> // Para a fun‡Æo sqrt()
using namespace std;
// Prot¢tipos das fun‡äes CalcRaiz() e Divisao()
double CalcRaiz(double) throw (const char *);
float Divisao(float,float) throw (const char *);
int main()
{
double numero,raizq;
float divid,divis,quoc;
cout << "N£mero para o c lculo da raiz quadrada: ";
cin >> numero;
try
{
raizq = CalcRaiz(numero);
cout << "Raiz quadrada: " << raizq << endl;
cout << endl << "Digite o dividendo: ";
cin >> divid;
cout << "Digite o divisor: ";
cin >> divis;
quoc = Divisao(divid,divis);
cout << "Quociente: " << quoc << endl;
cout << "T‚rmino sem erro" << endl;
return 0;
}
catch (const char
* msg)
{
cout << msg << endl;
}
cout << "T‚rmino com erro" << endl;
return 1;
}
double CalcRaiz(double numero1) throw (const char *)
{
if (numero1 < 0)
throw "Raiz quadrada de n£mero negativo";
return sqrt(numero1);
}
float Divisao(float divid1,float divis1) throw (const char *)
{
if (divis1 == 0)
throw "Tentativa de divisÆo por zero";
return divid1 / divis1;
}
exc04.cpp
#include <iostream>
#include <cmath> // Para a fun‡Æo sqrt()
using namespace std;
// Prot¢tipos das fun‡äes CalcRaiz() e Divisao()
double CalcRaiz(double) throw (const char *);
float Divisao(float,float) throw (const char *);
int main()
{
double numero,raizq;
float divid,divis,quoc;
try
{
cout << "N£mero para o c lculo da raiz quadrada: ";
cin >> numero;
raizq = CalcRaiz(numero);
cout << "Raiz quadrada: " << raizq << endl << endl;
}
catch (const char * msg1)
{
cout << msg1 << endl;
return 1;
}
try
{
cout << "Digite o dividendo: ";
cin >> divid;
cout << "Digite o divisor: ";
cin >> divis;
quoc = Divisao(divid,divis);
cout << "Quociente: " << quoc << endl;
return 0;
}
catch (const char * msg2)
{
cout << msg2 << endl;
}
return 1;
}
double CalcRaiz(double numero1) throw (const char *)
{
if (numero1 < 0)
throw "Raiz quadrada de n£mero negativo";
return sqrt(numero1);
}
float Divisao(float divid1,float divis1) throw (const char *)
{
if (divis1 == 0)
throw "Tentativa de divisÆo por zero";
return divid1 / divis1;
}
exc05.cpp
#include <iostream>
using namespace std;
int main()
{
int dividendo,divisor,quociente;
cout << "Digite o dividendo: ";
cin >> dividendo;
cout << "Digite o divisor: ";
cin >> divisor;
try
{
if (divisor == 0)
throw 1;
if (divisor < 0)
throw 2;
quociente = dividendo / divisor;
cout << "Quociente: " << quociente << endl;
return 0;
}
catch (...)
{
cout << "Ocorreu uma exce‡Æo " << endl;
}
return 1;
}
exc06.cpp
#include <iostream>
using namespace std;
class NumExtenso // Declara‡Æo da classe NumExtenso
{
public: // Prot¢tipos dos m‚todos
void atrib();
void ler();
void exibe();
~NumExtenso(); // Prot¢tipo do destrutor
class Erro // Declara‡Æo da classe de exce‡Æo Erro
{
};
private:
char * extensos[4];
int numero;
};
int main()
{
NumExtenso extenso1; // Cria o objeto extenso1
extenso1.atrib(); // Objeto extenso1 chama o m‚todo atrib()
try // Bloco try
{
extenso1.ler(); // Objeto extenso1 chama o m‚todo ler()
extenso1.exibe();// Objeto extenso1 chama o m‚todo exibe()
cout << endl;
}
catch(NumExtenso::Erro) // Bloco catch
{
cout << "Erro. N£mero fora do intervalo" << endl;
return 1;
}
return 0;
}
// Atribui valores ao objeto extenso1
void NumExtenso :: atrib()
{
extensos[0] = "";
extensos[1] = "Um";
extensos[2] = "Dois";
extensos[3] = "Trˆs";
}
// Lˆ um n£mero do teclado. Dispara uma exce‡Æo caso o n£mero
// esteja fora do intervalo.
void NumExtenso :: ler()
{
cout << "Digite um n£mero (de 1 a 3): ";
cin >> numero;
if (numero < 1 || numero > 3)
throw Erro();
}
// Exibe o extenso do n£mero digitado.
void NumExtenso :: exibe()
{
cout << extensos[numero];
}
NumExtenso :: ~NumExtenso() // Defini‡Æo do destrutor
{
}
exc07.cpp
#include <iostream>
using namespace std;
struct conta
{
double saldo[5000];
};
int main(void)
{
conta * ptr;
try
{
cout << "new tenta alocar mem¢ria" << endl;
ptr = new conta[10000];
}
catch (bad_alloc & mensag)
{
cout << "String do m‚todo what(): " << mensag.what() << endl;
return 1;
}
delete [ ] ptr;
return 0;
}
friend01.cpp
#include <iostream>
#include <string>
using namespace std;
class esposa; // Declara‡Æo antecipada
class marido // Declara‡Æo da classe marido
{
public:
marido(char *,float); // Prot¢tipo do construtor
~marido(); // Prot¢tipo do destrutor
// Prot¢tipo da fun‡Æo friend exibe()
friend void exibe(marido,esposa);
private:
char nome1[10];
float salario1;
};
class esposa // Declara‡Æo da classe esposa
{
public:
esposa(char *,float,float); // Prot¢tipo do construtor
~esposa(); // Prot¢tipo do destrutor
// Prot¢tipo da fun‡Æo friend exibe()
friend void exibe(marido,esposa);
private:
char nome2[10];
float salario2;
float renda2;
};
int main()
{
// Cria o objeto homem, chamando o construtor
marido homem("Fernando",3000.00);
// Cria o objeto mulher, chamando o construtor
esposa mulher("Suely",3000.00,0.00);
exibe(homem,mulher); // Chama a fun‡Æo friend exibe()
return 0;
}
// Defini‡Æo do construtor da classe marido
// marido :: marido(char * nome11,float salario11,float inss11)
marido :: marido(char * nome11,float salario11)
{
strcpy(nome1,nome11);
salario1 = salario11;
}
// Defini‡Æo do destrutor da classe marido
marido :: ~marido()
{
}
// Defini‡Æo do construtor da classe esposa
esposa :: esposa(char * nome22,float salario22,float renda22)
{
strcpy(nome2,nome22);
salario2 = salario22;
renda2 = renda22;
}
// Defini‡Æo do destrutor da classe esposa
esposa :: ~esposa()
{
}
// Defini‡Æo da fun‡Æo friend exibe()
void exibe(marido h1,esposa m1)
{
cout << "Nome: " << h1.nome1 << endl;
cout << "Sal rio: " << h1.salario1 << endl;
cout << "Nome: " << m1.nome2 << endl;
cout << "Sal rio: " << m1.salario2 << endl << endl;
cout << "Renda mensal do casal " << h1.nome1 << " e "
<< m1.nome2 << ": R$ ";
m1.renda2 = h1.salario1 + m1.salario2;
cout << m1.renda2 << endl;
}
friend02.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
carro(char *,int); // Prot¢tipo do construtor
~carro(); // Prot¢tipo do destrutor
void exibe(); // Prot¢tipo do m‚todo exibe()
friend class fcarro; // Classe amiga da classe carro
private:
char modelo[7];
int anofab;
};
class fcarro // Declara‡Æo da classe amiga fcarro
{
public:
void alt1(carro &); // Prot¢tipo do m‚todo alt1()
void alt2(carro &); // Prot¢tipo do m‚todo alt2()
};
int main()
{
carro carro1("Corsa", 1999);
fcarro fcarro1;
cout << "Antes da altera‡Æo" << endl;
carro1.exibe();
// Passa o argumento ao m‚todo alt1(), por referˆncia,
// pois esse altera as vari veis-membro da classe carro
fcarro1.alt1(carro1);
cout << "Depois da altera‡Æo" << endl;
carro1.exibe();
// Passa o argumento ao m‚todo alt2(), por referˆncia,
// pois esse altera as vari veis-membro da classe carro
fcarro1.alt2(carro1);
carro1.exibe();
return 0;
}
// M‚todos da classe carro
void carro :: exibe() // Defini‡Æo do m‚todo exibe()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl << endl;
}
// Defini‡Æo do construtor
carro:: carro (char * model1,int ano1)
{
strcpy(modelo,model1);
anofab = ano1;
}
carro :: ~carro() // Defini‡Æo do destrutor da classe carro
{
}
// M‚todos da classe amiga fcarro
// Defini‡Æo do m‚todo alt1()
void fcarro :: alt1(carro & c1)
{
strcpy(c1.modelo,"Focus");
c1.anofab = 2000;
}
// Defini‡Æo do m‚todo alt2()
void fcarro :: alt2(carro & c2)
{
strcpy(c2.modelo,"Palio");
c2.anofab = 2001;
}
friend03.cpp
#include <iostream>
#include <cstring> //
Para a fun‡Æo strcpy()
using namespace std;
class carro; // Declara‡Æo antecipada
class fcarro // Declara‡Æo da classe fcarro (amiga da classe carro)
{
public:
void altera(carro &); // Prot¢tipo do m‚todo altera()
void exibeval(carro); // Prot¢tipo do m‚todo exibeval()
};
class carro // Declara‡Æo da classe carro
{
public:
// Prot¢tipo do construtor
carro(float,char *,int);
~carro(); // Prot¢tipo do destrutor
void exibe(); // Prot¢tipo do m‚todo exibe()
float valor;
// Prot¢tipo do m‚todo friend altera()
friend void fcarro::altera(carro &);
private:
char modelo[7];
int anofab;
};
int main()
{
// Cria objeto da classe carro, chamando o construtor
carro carro1(15000.,"Corsa", 1999);
// Cria o objeto fcarro1 da classe fcarro
fcarro fcarro1;
cout << "Antes da altera‡Æo" << endl;
carro1.exibe();
// Passa o argumento ao m‚todo altera(), por referˆncia,
// pois esse altera as vari veis-membro da classe carro
fcarro1.altera(carro1);
cout << "Depois da altera‡Æo" << endl;
carro1.exibe();
fcarro1.exibeval(carro1);
return 0;
}
// M‚todos da classe carro
void carro :: exibe() // Defini‡Æo do m‚todo exibe()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl;
cout << "Valor: " << valor << endl << endl;
}
// Defini‡Æo do construtor
carro:: carro (float valor1,char * model1,int ano1)
{
valor = valor1;
strcpy(modelo,model1);
anofab = ano1;
}
carro :: ~carro() // Defini‡Æo do destrutor
{
}
// M‚todos da classe amiga fcarro
// Defini‡Æo do m‚todo altera()
void fcarro :: altera(carro & c1)
{
strcpy(c1.modelo,"Focus");
c1.anofab = 2000;
c1.valor = 19000.;
}
// Defini‡Æo do m‚todo friend exibeval()
void fcarro :: exibeval(carro c2)
{
cout << "Valor: " << c2.valor << endl;
}
friend04.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
friend class fcarro; // A classe fcarro ‚ amiga da classe carro
carro(char *,int); // Prot¢tipo do construtor
~carro(); // Prot¢tipo do destrutor
// Prot¢tipo do m‚todo exibe_carro()
void exibe_carro();
// Prot¢tipo do m‚todo exibe_fcarro()
void exibe_fcarro(const fcarro &);
private:
char modelo[7];
int anofab;
};
class fcarro // Declara‡Æo da classe fcarro
{
public:
friend class carro; // A classe carro ‚ amiga da classe fcarro
fcarro(float,char); // Prot¢tipo do construtor
~fcarro(); // Prot¢tipo do destrutor
// Prot¢tipo do m‚todo altera_carro()
void altera_carro(carro &);
private:
float valor;
char combust;
};
int main()
{
// Cria objeto da classe carro, chamando o construtor
carro carro1("Corsa", 1999);
// Cria objeto da classe fcarro, chamando o construtor
fcarro fcarro1(15000.,'G');
cout << "Antes da altera‡Æo - Classe carro" << endl;
carro1.exibe_carro();
cout << "Depois da altera‡Æo - Classe carro" << endl;
// Passa o argumento ao m‚todo altera_carro(), por referˆncia,
// pois esse altera as vari veis-membro da classe carro
fcarro1.altera_carro(carro1);
carro1.exibe_carro();
cout << "Classe fcarro" << endl;
// Passa o argumento ao m‚todo exibe_fcarro(), por referˆncia.
// Como o argumento ‚ const, esse m‚todo nÆo altera as
// vari veis-membro da classe fcarro
carro1.exibe_fcarro(fcarro1);
return 0;
}
// M‚todos da classe carro
// Defini‡Æo do m‚todo exibe_fcarro()
void carro :: exibe_fcarro(const fcarro & f1)
{
cout << "Valor: " << f1.valor << endl;
cout << "Combust¡vel: " << f1.combust << endl;
}
void carro :: exibe_carro() // Defini‡Æo do m‚todo exibe_carro()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl << endl;
}
// Defini‡Æo do construtor
carro:: carro (char * model1,int ano1)
{
strcpy(modelo,model1);
anofab = ano1;
}
carro :: ~carro() // Defini‡Æo do destrutor
{
}
// M‚todos da classe fcarro
// Defini‡Æo do m‚todo altera_carro()
void fcarro :: altera_carro(carro & c1)
{
strcpy(c1.modelo,"Focus");
c1.anofab = 2000;
}
// Defini‡Æo do construtor
fcarro:: fcarro (float valor1,char combust1)
{
valor = valor1;
combust = combust1;
}
fcarro :: ~fcarro() // Defini‡Æo do destrutor
{
}
hermul01.cpp
#include <iostream>
#include <cstring>
using namespace std;
// Declara‡o da classe-base funcionario
class func
{
public:
~func(); // Prot¢tipo do destrutor
void le_dados(); // Prot¢tipo do m‚todo le_dados()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char snome[10];
};
// Declara‡Æo da classe-base escolaridade
class escol
{
public:
~escol(); // Prot¢tipo do destrutor
void le_dados(); // Prot¢tipo do m‚todo le_dados()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char univ[8];
};
// Declara‡Æo da classe derivada professor
class prof : public func, public escol
{
public:
void le_dados(); // Prot¢tipo do m‚todo le_dados()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
short int npub;
};
// Declara‡Æo da classe derivada auxiliar
class auxil : public func
{
};
int main()
{
// Cria o objeto prof1. Utiliza o construtor default
prof prof1;
// Cria o objeto auxil1. Utiliza o construtor default
auxil auxil1;
cout << "Digite os dados do professor" << endl;
prof1.le_dados();
cout << "Digite os dados do auxiliar" << endl;
auxil1.le_dados();
cout << endl;
cout << "O professor ‚:" << endl;
prof1.exibe();
cout << "O auxiliar ‚:" << endl;
auxil1.exibe();
return 0;
}
// M‚todos da classe-base func
void func :: le_dados() // Defini‡Æo do m‚todo le_dados()
{
cout << " Sobrenome: ";
cin >> snome;
}
void func :: exibe() // Defini‡Æo do m‚todo exibe()
{
cout << " Sobrenome: " << snome << endl;
// cout << " CPF: " << cpf << endl;
}
func :: ~func() // Defini‡Æo do destrutor
{
}
// M‚todos da classe-base escolaridade
void escol :: le_dados() // Defini‡Æo do m‚todo le_dados()
{
cout << " Universidade: ";
cin >> univ;
}
void escol :: exibe() // Defini‡Æo do m‚todo exibe()
{
cout << " Universidade: " << univ << endl;
// cout << " Grau: " << grau << endl;
}
escol:: ~escol() // Defini‡Æo do destrutor
{
}
// M‚todos da classe-derivada professor
void prof :: le_dados() // Defini‡Æo do m‚todo le_dados()
{
func :: le_dados();
escol :: le_dados();
cout << " N§ de publica‡äes: ";
cin >> npub;
}
void prof :: exibe() // Defini‡Æo do m‚todo exibe()
{
func :: exibe();
cout << " N§ de publica‡äes: " << npub << endl;
escol :: exibe();
}
hermul02.cpp
#include <iostream>
using namespace std;
class ClaBase1 // Declara‡Æo de classe-base
{
public:
void exibe();
};
class ClaBase2 // Declara‡Æo de classe-base
{
public:
void exibe();
};
// Declara‡Æo de classe derivada
class ClaDeriv : public ClaBase1, public ClaBase2
{
};
int main()
{
ClaDeriv objderiv; // Cria objeto da classe derivada
// Chamada qualificada ao m‚todo exibe() da classe-base ClaBase1
objderiv.ClaBase1 :: exibe();
// Chamada qualificada ao m‚todo exibe() da classe-base ClaBase2
objderiv.ClaBase2 :: exibe();
// objderiv.exibe();
return 0;
}
// M‚todos da classe-base ClaBase1
void ClaBase1 :: exibe()
{
cout << "Classe-base 1" << endl;
}
// M‚todos da classe-base ClaBase2
void ClaBase2 :: exibe()
{
cout
<< "Classe-base 2" << endl;
}
herniv01.cpp
#include <iostream>
#include <cstring>
using namespace std;
class pessoa // Declara‡Æo da classe-base pessoa
{
public:
~pessoa(); // Prot¢tipo do destrutor
void le_dados(); // Prot¢tipo do m‚todo le_dados()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char snome[10];
};
// Declara‡Æo da classe derivada homem
class homem : public pessoa
{
public:
void le_dados(); // Prot¢tipo do m‚todo le_dados()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
short int idade;
};
// Declara‡Æo da classe derivada rapaz
class rapaz : public homem
{
public:
void le_dados(); // Prot¢tipo do m‚todo le_dados()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char est_civil[11];
};
int main()
{
// Cria o objeto homem1. Utiliza o construtor default
homem homem1;
// Cria o objeto rapaz1. Utiliza o construtor default
rapaz rapaz1;
cout << "Digite os dados do homem" << endl;
homem1.le_dados();
cout << "Digite os dados do rapaz" << endl;
rapaz1.le_dados();
cout << endl;
cout << "O homem ‚:" << endl;
homem1.exibe();
cout << "O rapaz ‚:" << endl;
rapaz1.exibe();
return 0;
}
// M‚todos da classe-base pessoa
void pessoa :: le_dados() // Defini‡Æo do m‚todo le_dados()
{
cout << " Sobrenome: ";
cin >> snome;
}
void pessoa :: exibe() // Defini‡Æo do m‚todo exibe()
{
cout << " Sobrenome: " << snome << endl;
}
pessoa :: ~pessoa() // Defini‡Æo do destrutor
{
}
// M‚todos da classe-derivada homem
void homem :: le_dados() // Defini‡Æo do m‚todo le_dados()
{
pessoa :: le_dados();
cout << " Idade: ";
cin >> idade;
}
void homem :: exibe() // Defini‡Æo do m‚todo exibe()
{
pessoa :: exibe();
cout << " Idade: " << idade << endl;
}
// M‚todos da classe-derivada rapaz
void rapaz :: le_dados() // Defini‡Æo do m‚todo le_dados()
{
homem :: le_dados();
cout << " Estado civil: ";
cin >> est_civil;
}
void rapaz :: exibe() // Defini‡Æo do m‚todo exibe()
{
homem :: exibe();
cout << " Estado civil: " << est_civil << endl;
}
hersim01.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
class carro // Declara‡Æo da classe-base carro
{
public:
carro(char *); // Prot¢tipo do construtor
char modelo[7];
};
// Declara‡Æo da classe derivada novo_carro
class novo_carro : public carro
{
public:
// Prot¢tipo do construtor
novo_carro(char *,int,float);
// Prot¢tipo do m‚todo exibe_tudo()
void exibe_tudo();
private:
int anofab;
float valor;
};
int main()
{
// Cria o objeto ncarro1, chamando os construtores
novo_carro ncarro1("Focus",2002,35000.);
// M‚todo da classe derivada exibe vari veis p£blicas da classe-base
ncarro1.exibe_tudo();
return 0;
}
// M‚todos da classe-base carro
// Defini‡Æo do construtor
carro:: carro (char * modelo1)
{
strcpy(modelo,modelo1);
}
// M‚todos da classe derivada novo_carro
// Defini‡Æo do m‚todo exibe_tudo()
void novo_carro :: exibe_tudo()
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl;
cout << "Valor: " << valor << endl;
}
// Defini‡Æo do construtor. Chama o construtor da classe-base
novo_carro :: novo_carro(char * modelo1,int ano1,
float valor1) : carro(modelo1)
{
anofab = ano1;
valor = valor1;
}
hersim02.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
class carro // Declara‡Æo da classe-base carro
{
public:
carro(char *); // Prot¢tipo do construtor
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char modelo[7];
};
// Declara‡Æo da classe derivada novo_carro
class novo_carro : public carro
{
public:
// Prot¢tipo do construtor
novo_carro(char *,int,float);
// Prot¢tipo do m‚todo exibe_novo()
void exibe_novo();
private:
int anofab;
float valor;
};
int main()
{
// Cria o objeto carro1, chamando o construtor
carro carro1("Corsa");
// Cria o objeto ncarro1, chamando os construtores
novo_carro ncarro1("Focus",2002,35000.);
// Objeto da classe-base chama m‚todo da classe-base
carro1.exibe();
cout << endl;
// Objeto da classe derivada chama m‚todo da classe derivada
ncarro1.exibe_novo();
cout << endl;
// Objeto da classe derivada chama m‚todo da classe-base
ncarro1.exibe();
return 0;
}
// M‚todos da classe-base carro
// Defini‡Æo do m‚todo exibe()
void carro :: exibe()
{
cout << "Modelo: " << modelo << endl;
}
// Defini‡Æo do construtor
carro:: carro (char * modelo1)
{
strcpy(modelo,modelo1);
}
// M‚todos da classe derivada novo_carro
// Defini‡Æo do m‚todo exibe_novo()
void novo_carro :: exibe_novo()
{
exibe(); // Chama o m‚todo exibe() da classe-base
cout << "Ano: " << anofab << endl;
cout << "Valor: " << valor << endl;
}
// Defini‡Æo do construtor. Chama o construtor da classe-base
novo_carro :: novo_carro(char * modelo1,int ano1,
float valor1) : carro(modelo1)
{
anofab = ano1;
valor = valor1;
}
hersim03.cpp
#include <iostream>
using namespace std;
// Declara‡Æo da classe-base pessoa
class pessoa
{
public:
~pessoa(); // Prot¢tipo do destrutor
void le_dados(); // Prot¢tipo do m‚todo le_dados()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char snome[10];
};
// Declara‡Æo da classe derivada homem
class homem : public pessoa
{
public:
void le_dados(); // Prot¢tipo do m‚todo le_dados()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
short int idade;
};
// Declara‡Æo da classe derivada mulher
class mulher : public pessoa
{
public:
void le_dados(); // Prot¢tipo do m‚todo le_dados()
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
char est_civil[11];
};
int main()
{
// Cria o objeto homem1. Utiliza o construtor default
homem homem1;
// Cria o objeto mulher1. Utiliza o construtor default
mulher mulher1;
cout << "Digite os dados do homem" << endl;
homem1.le_dados();
cout << "Digite os dados da mulher" << endl;
mulher1.le_dados();
cout << endl;
cout << "O homem ‚:" << endl;
homem1.exibe();
cout << "A mulher ‚:" << endl;
mulher1.exibe();
return 0;
}
// M‚todos da classe-base pessoa
void pessoa :: le_dados() // Defini‡Æo do m‚todo le_dados()
{
cout << " Sobrenome: ";
cin >> snome;
}
void pessoa :: exibe() // Defini‡Æo do m‚todo exibe()
{
cout << " Sobrenome: " << snome << endl;
}
pessoa :: ~pessoa() // Defini‡Æo do destrutor
{
}
// M‚todos da classe-derivada homem
void homem :: le_dados() // Defini‡Æo do m‚todo le_dados()
{
pessoa :: le_dados();
cout << " Idade: ";
cin >> idade;
}
void homem :: exibe() // Defini‡Æo do m‚todo exibe()
{
pessoa :: exibe();
cout << " Idade: " << idade << endl;
}
// M‚todos da classe-derivada mulher
void mulher :: le_dados() // Defini‡Æo do m‚todo le_dados()
{
pessoa :: le_dados();
cout << " Estado civil: ";
cin >> est_civil;
}
void mulher :: exibe() // Defini‡Æo do m‚todo exibe()
{
pessoa :: exibe();
cout << " Estado civil: " << est_civil << endl;
}
int01.cpp
#include <iostream>
using namespace std;
int main()
{
int ValDec = 15,ValHex = 0xF,ValOct = 017;
cout << "Decimal: " << ValDec << endl;
cout << "Hexa convertido: " << ValHex
<< endl;
cout << "Octal convertido: " << ValOct << endl;
return 0;
}
metcon01.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
char modelo[7];
int anofab;
void exibe() const; // Prot¢tipo do m‚todo const exibe()
};
int main()
{
carro carro1; // Cria o objeto carro1
strcpy(carro1.modelo,"Gol");
carro1.anofab = 1999;
cout << "Objeto carro1" << endl;
carro1.exibe(); // Objeto carro1 chama o m‚todo exibe()
return 0;
}
// Exibe os valores do objeto carro1
void carro :: exibe() const
{
cout << "Modelo: " << modelo << endl;
// anofab = 8888;
cout << "Ano: " << anofab << endl;
}
metvir01.cpp
#include <iostream>
using namespace std;
// Declara‡Æo da classe-base formas geom‚tricas
class FormasGeo
{
public:
void desenha(); // Prot¢tipo do m‚todo desenha()
};
// Declara‡Æo da classe derivada quadrado
class quadrado : public FormasGeo
{
public:
void desenha(); // Prot¢tipo do m‚todo desenha()
};
// Declara‡Æo da classe derivada retang
class retang : public FormasGeo
{
public:
void desenha(); // Prot¢tipo do m‚todo desenha()
};
int main()
{
quadrado quadrado1; // Cria o objeto quadrado1
retang retang1; // Cria o objeto retang1
FormasGeo *ptr; // Ponteiro para a classe-base
ptr = &quadrado1; // Atribui o endere‡o do objeto quadrado1 … ptr
ptr -> desenha(); // Chama o m‚todo desenha()
ptr = &retang1; // Atribui o endere‡o do objeto retang1 … ptr
ptr -> desenha(); // Chama o m‚todo desenha()
return 0;
}
// M‚todos da classe-base FormasGeo
// Defini‡Æo do m‚todo desenha()
void FormasGeo :: desenha()
{
cout << "Classe-base FormasGeo" << endl;
}
// M‚todos da classe derivada quadrado
// Defini‡Æo do m‚todo desenha()
void quadrado :: desenha()
{
cout << "Classe derivada quadrado" << endl;
}
// M‚todos da classe-derivada retang
// Defini‡Æo do m‚todo desenha()
void retang :: desenha()
{
cout << "Classe derivada retang" << endl;
}
metvir02.cpp
#include <iostream>
using namespace std;
void Limpa();
void menu();
// Declara‡Æo da classe-base formas geom‚tricas
class FormasGeo
{
public:
virtual ~FormasGeo(); // Prot¢tipo do destrutor virtual
virtual void desenha(); // Prot¢tipo do m‚todo virtual desenha()
};
// Declara‡Æo da classe derivada quadrado
class quadrado : public FormasGeo
{
public:
void desenha(); // Prot¢tipo do m‚todo desenha()
};
// Declara‡Æo da classe derivada retang
class retang : public FormasGeo
{
public:
void desenha(); // Prot¢tipo do m‚todo desenha()
};
int main()
{
quadrado quadrado1; // Cria o objeto quadrado1
retang retang1; // Cria o objeto retang1
FormasGeo *ptr; // Ponteiro para a classe-base
char opcao,tecla;
menu();
cin >> opcao;
while (opcao != '3')
{
switch(opcao)
{
case '1':
Limpa();
// Atribui o endere‡o do objeto quadrado1 … ptr
ptr = &quadrado1;
// Chama o m‚todo desenha() da classe derivada quadrado
ptr -> desenha();
cin >> tecla;
break;
case '2':
Limpa();
// Atribui o endere‡o do objeto retang1 … ptr
ptr = &retang1;
// Chama o m‚todo desenha() da classe derivada retang
ptr -> desenha();
cin >> tecla;
break;
case '3':
break;
}
menu();
cin >> opcao;
}
Limpa();
cout << endl;
return 0;
}
// M‚todos da classe-base FormasGeo
void FormasGeo :: desenha() // Defini‡Æo do m‚todo desenha()
{
}
// Defini‡Æo do destrutor virtual
FormasGeo :: ~FormasGeo()
{
}
// M‚todos da classe-derivada quadrado
void quadrado :: desenha() // Defini‡Æo do m‚todo desenha()
{
cout << "Classe derivada quadrado" << endl << endl;
int i,k;
for (i = 1;i < 3;i++)
{
cout.width(7);
for (k = 1;k < 4;k++)
cout << "x";
cout << endl;
}
cout << endl;
cout << "Pressione uma tecla e Enter ";
}
// M‚todos da classe-derivada retang
void retang :: desenha() // Defini‡Æo do m‚todo desenha()
{
cout << "Classe derivada retang" << endl << endl;
int i,k;
for (i = 1; i < 3; i++)
{
cout.width(7);
for (k = 1;k < 18;k++)
cout << "x";
cout << endl;
}
cout << endl;
cout << "Pressione uma tecla e Enter ";
}
void menu() // Defini‡Æo da fun‡Æo menu()
{
Limpa();
cout.width(40);
cout << "DESENHO DE FORMAS GEOM�TRICAS" << endl << endl;
cout.width(35);
cout << "1 - Quadrado " << endl << endl;
cout.width(35);
cout << "2 - Retƒngulo " << endl << endl;
cout.width(35);
cout << "3 - Sair " << endl << endl;
cout.width(35);
cout << "Digite uma op‡Æo: ";
}
void Limpa() // Defini‡Æo da fun‡Æo Limpa()
{
cout << "\033[2J";
cout << "\033[0;0f";
}
metvir03.cpp
#include <iostream>
using namespace std;
// Declara‡Æo da classe-base formas geom‚tricas
class FormasGeo
{
public:
virtual ~FormasGeo(); // Prot¢tipo do destrutor virtual
virtual void desenha(); // Prot¢tipo do m‚todo virtual desenha()
};
int main()
{
FormasGeo forma1; // Cria o objeto forma1 da classe-base
forma1.desenha();
return 0;
}
// Defini‡Æo do m‚todo desenha()
void FormasGeo :: desenha()
{
cout << "M‚todo desenha()" << endl;
}
FormasGeo :: ~FormasGeo() // Defini‡Æo do destrutor virtual
{
}
objstr01.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
char stringc[9] = "String-C";
string s1("Objeto String"),s2,s3;
s2 = stringc;
s3 = s1;
cout << s2 << endl << s3 << endl;
string s4(stringc);
string s5(s1);
cout << s4 << endl << s5 << endl;
return 0;
}
objstr02.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("Micro");
s1 += "Computador";
cout << s1 << endl;
string s2("Poli"),s3("Morfismo");
s2 += s3;
cout << s2 << endl;
s2 += "?";
cout << s2 << endl;
return 0;
}
objstr03.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1(10,'$');
cout << s1 << endl;
return 0;
}
objstr04.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i;
string s1("MicroComputador");
for (i = 0;i < 5;i++)
cout << s1[i] << " ";
cout << endl;
return 0;
}
objstr05.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
char stringc[9] = "String-C";
string s1(stringc,6);
cout << s1 << endl;
return 0;
}
objstr06.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
char str[11] = "ABCDEFGHIJ";
string s2(str,str+5);
cout << s2 << endl;
string s3(str+5,str+10);
cout << s3 << endl;
return 0;
}
objstr07.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("Classes-Objetos");
string s2(s1,0,8);
cout << s2 << endl;
string s3(s1,8,7);
cout << s3 << endl;
return 0;
}
objstr08.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("abc"),s2("ABC");
char str[4] = "abc";
if (s1 != s2) // objeto string X objeto string
cout << "s1 diferente de s2" << endl;
if (s1 == str) // objeto string X string-C
cout << "s1 igual … str" << endl;
if (str == s1) // string-C X objeto string
cout << "str igual … s1" << endl;
return 0;
}
objstr09.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i,comp;
string s1("MicroComputador");
comp = s1.size(); // Ou comp = s1.length();
for (i = 0;i < comp;i++)
cout << s1[i] << " ";
cout << endl;
return 0;
}
objstr10.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("Objeto String"),s2,s3;
s2.assign(s1);
cout << s2 << endl;
s3.assign(s1,0,6);
cout << s3 << endl;
char strc[9] = "String-C";
string s4,s5,s6;
s4.assign(strc);
cout << s4 << endl;
s5.assign(strc,6);
cout << s5 << endl;
s6.assign(4,'W');
cout << s6 << endl;
return 0;
}
objstr11.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("Objeto "),s2("da Classe String");
s1.append(s2);
cout << s1 << endl;
string s3("Teste ");
s3.append(s2,0,16);
cout << s3 << endl;
char strc[9] = "String-C";
string s4("Sou um objeto, nÆo um ");
s4.append(strc);
cout << s4 << endl;
string s5("Objeto ");
s5.append(strc,6);
cout << s5 << endl;
string s6("Cuidado");
s6.append(3,'!');
cout << s6 << endl;
return 0;
}
objstr12.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("MicroComputador");
char strc[16];
int qtde;
qtde = s1.copy(strc,10,5);
strc[qtde] = '\0'; // Acrescenta o caractere nulo
cout << strc << endl;
return 0;
}
objstr13.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int retorno;
string s1("abcd"),s2("abcd");
retorno = s1.compare(s2);
if (retorno == 0)
cout << "Objetos iguais" << endl;
string s3("CasaVerde"),s4("Casa");
retorno = s3.compare(0,4,s4);
if (retorno == 0)
cout << "Parte de s3 ‚ igual a s4" << endl;
string s5("A face oculta"),s6("A interface visual");
retorno = s5.compare(2,4,s6,7,4);
if (retorno == 0)
cout << "Parte de s5 ‚ igual … parte de s6" << endl;
return 0;
}
objstr14.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int posic;
char strc[10] = "com v¡rus";
string s1("Computador com v¡rus"),s2("dor");
posic = s1.find(s2);
cout << "s2 na posi‡Æo " << posic << " de s1" << endl;
posic = s1.find(strc,2);
cout << "strc na posi‡Æo " << posic << " de s1" << endl;
return 0;
}
objstr15.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int posic;
string s1("classe-string-objeto-string"),s2("string");
posic = s1.rfind(s2);
cout << "s2 na posi‡Æo " << posic << " de s1" << endl;
posic = s1.rfind("ring",20);
cout << "'ring' na posi‡Æo " << posic << " de s1" << endl;
return 0;
}
objstr16.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int posic;
string s1("Computadores"),s2("dr");
posic = s1.find_first_of(s2,0);
cout << "'d' na posi‡Æo " << posic << " de s1" << endl;
posic = s1.find_first_of("rua",0);
cout << "'u' na posi‡Æo " << posic << " de s1" << endl;
return 0;
}
objstr17.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int posic;
string s1("Computadores"),s2("dr");
posic = s1.find_last_of(s2);
cout << "'r' na posi‡Æo " << posic << " de s1" << endl;
posic = s1.find_last_of("oto");
cout << "'o' na posi‡Æo " << posic << " de s1" << endl;
return 0;
}
objstr18.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int posic;
string s1("Computadores"),s2("dor");
posic = s1.find_first_not_of(s2);
cout << "'C' ‚ o primeiro caractere nÆo encontrado em s2. Posi‡Æo "
<< posic << endl;
posic = s1.find_first_not_of("Compu");
cout << "'t' ‚ o primeiro caractere nÆo encontrado em s1. Posi‡Æo "
<< posic << endl;
return 0;
}
objstr19.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int posic;
string s1("Computadores"),s2("dor");
posic = s1.find_last_not_of(s2);
cout << "'s' ‚ o £ltimo caractere nÆo encontrado em s2. Posi‡Æo "
<< posic << endl;
posic = s1.find_last_not_of("res");
cout << "'o' ‚ o £ltimo caractere nÆo encontrado em s1. Posi‡Æo "
<< posic << endl;
return 0;
}
objstr20.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string alerta("Computador com v¡rus!");
string subs(alerta.substr(11,10));
cout << subs << endl;
return 0;
}
objstr21.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("Comput"),s2("ador");
s1.insert(6,s2);
cout << s1 << endl;
string s3("Diste"),s4("123quete456");
s3.insert(3,s4,3,3);
cout << s3 << endl;
string s5("Diste");
s5.insert(3,"que");
cout << s5 << endl;
return 0;
}
objstr22.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("Computador");
s1.replace(4,3,"ila");
cout << s1 << endl;
string s2("Computador"),s3("123456");
s2.replace(4,3,s3,0,3);
cout << s2 << endl;
string s4("Banana");
s4.replace(2,4,"tata");
cout << s4 << endl;
return 0;
}
objstr23.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("Software");
cout << "Antes de erase()" << endl;
cout << "Comprimento: " << s1.size() << " Conte£do: "
<< s1 << endl;
s1.erase(1,2);
cout << "Depois de erase()" << endl;
cout << "Comprimento: " << s1.size() << " Conte£do: "
<< s1 << endl << endl;
string s2("Software");
cout << "Antes de clear()" << endl;
cout << "Comprimento: " << s2.size() << " Conte£do: "
<< s2 << endl;
s2.clear();
cout << "Depois de clear()" << endl;
cout << "Comprimento: " << s2.size() << " Conte£do: "
<< s2 << endl;
if (s2.empty() == true)
cout << "Objeto s2 vazio" << endl;
return 0;
}
objstr24.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("CPU"),s2("ROM-BIOS");
cout << "Antes do swap()" << endl;
cout << "s1: " << s1;
cout << " s2: " << s2 << endl << endl;
cout << "Depois do swap()" << endl;
s1.swap(s2);
cout << "s1: " << s1;
cout << " s2: " << s2 << endl;
return 0;
}
objstr25.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("ChipSet 456");
cout << "s1 antes de resize(): " << s1 << endl;
s1.resize(4);
cout << "s1 depois de resize(): " << s1 << endl;
return 0;
}
objstr26.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
// Leitura com getline()
string nome1;
cout << "Digite seu nome completo: ";
getline(cin,nome1);
cout << nome1 << endl;
// Leitura com getline() delimitada
string nome2;
char delimit = '$';
cout << "Digite seu nome completo, terminando com '$': ";
getline(cin,nome2,delimit); // Ou getline(cin,nome3,'$');
cout << nome2 << endl;
// Leitura com cin >>
string nome3;
cout << "Digite seu nome completo: ";
cin >> nome3;
cout << nome3 << endl;
return 0;
}
print01.cpp
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
char linha[20];
ifstream entrada("teste2"); // Abre o arquivo a ser impresso
ofstream printer("PRN"); // Abre o arquivo-impressora
entrada.getline(linha,20);
while (entrada.eof() == false)
{
printer << linha << endl;
entrada.getline(linha,20);
}
printer << "\f"; // Ejeta a p gina
printer.close();
entrada.close();
return 0;
}
sobope01.cpp
#include <iostream>
#include <cstring>
using namespace std;
class texto // Declara‡Æo da classe texto
{
public:
texto(char *); // Prot¢tipo do construtor
~texto(); // Prot¢tipo do destrutor
void exibe(int);
// Prot¢tipo do m‚todo exibe()
void operator -(int); // Prot¢tipo da fun‡Æo operator
private:
// Constante simb¢lica com escopo de classe
static const int comp = 25;
char string1[comp];
};
int main()
{
// Cria o objeto texto1, chamando o construtor
texto texto1("Sobrecarga de operadores");
texto1.exibe(1); // Objeto texto1 chama o m‚todo exibe()
texto1 - 5; // Chama a fun‡Æo operator
texto1.exibe(2); // Objeto texto1 chama o m‚todo exibe()
return 0;
}
void texto :: exibe(int flag) // Defini‡Æo do m‚todo exibe()
{
if (flag == 1)
cout << "String original: " << string1 << endl;
else
cout << "Substring: " << string1 << endl;
}
void texto :: operator -(int qtd) // Defini‡Æo da fun‡Æo operator
{
int k = 0;
char str_aux[comp];
while (k < qtd)
{
str_aux[k] = string1[k];
k++;
}
str_aux[k] = '\0';
strcpy(string1,str_aux);
}
texto :: texto (char * string11) // Defini‡Æo do construtor
{
strcpy(string1,string11);
}
texto :: ~texto() // Defini‡Æo do destrutor
{
}
sobope02.cpp
#include <iostream>
#include <cstring>
using namespace std;
class texto // Declara‡Æo da classe texto
{
public:
texto(char *); // Prot¢tipo do construtor
~texto(); // Prot¢tipo do destrutor
void exibe(int); // Prot¢tipo do m‚todo exibe()
char * operator -(int); // Prot¢tipo da fun‡Æo operator
private:
// Constante simb¢lica com escopo de classe
static const int comp = 25;
char string1[comp];
};
int main()
{
// Cria o objeto texto1, chamando o construtor
texto texto1("Sobrecarga de operadores");
texto1.exibe(1); // Objeto texto1 chama o m‚todo exibe()
texto1 = texto1 - 5; // Chama a fun‡Æo operator
texto1.exibe(2); // Objeto texto1 chama o m‚todo exibe()
return 0;
}
void texto :: exibe(int flag) // Defini‡Æo do m‚todo exibe()
{
if (flag == 1)
cout << "String original: " << string1 << endl;
else
cout << "Substring: " << string1 << endl;
}
char * texto :: operator -(int qtd) // Defini‡Æo da fun‡Æo operator
{
int k = 0;
char str_aux[comp];
while (k < qtd)
{
str_aux[k] = string1[k];
k++;
}
str_aux[k] = '\0';
strcpy(string1,str_aux);
return string1;
}
texto :: texto (char * string11) // Defini‡Æo do construtor
{
strcpy(string1,string11);
}
texto :: ~texto() // Defini‡Æo do destrutor
{
}
sobope03.cpp
#include <iostream>
#include <cstring>
using namespace std;
class texto // Declara‡Æo da classe texto
{
public:
texto(char *); // Prot¢tipo do construtor
texto(); // Prot¢tipo do construtor default
~texto(); // Prot¢tipo do destrutor
void exibe(int); // Prot¢tipo do m‚todo exibe()
texto operator +(const texto &); // Prot¢tipo da fun‡Æo operator
private:
// Constante simb¢lica com escopo de classe
static const int comp = 35;
char string1[comp];
};
int main()
{
// Cria o objeto texto1, chamando o construtor
texto texto1("Sobrecarga de Operadores");
// Cria o objeto texto2, chamando o construtor
texto texto2(" de C++");
// Cria o objeto texto3 sem inicializ -lo, por causa do construtor default
texto texto3;
texto1.exibe(1); // Objeto texto1 chama o m‚todo exibe()
texto2.exibe(2); // Objeto texto2 chama o m‚todo exibe()
texto3 = texto1 + texto2; // Chama a fun‡Æo operator
texto3.exibe(3); // Objeto texto3 chama o m‚todo exibe()
return 0;
}
void texto :: exibe(int flag) // Defini‡Æo do m‚todo exibe()
{
if (flag == 1)
cout << "String original 1: " << string1 << endl;
else
if (flag == 2)
cout << "String original 2: " << string1 << endl;
else
cout << "String resultante: " << string1 << endl;
}
// Defini‡Æo da fun‡Æo operator
texto texto :: operator +(const texto & texto22)
{
texto texto_result;
strcpy(texto_result.string1,string1);
strcat(texto_result.string1,texto22.string1);
return texto_result;
}
texto :: texto (char * string11) // Defini‡Æo do construtor
{
strcpy(string1,string11);
}
texto :: texto() // Defini‡Æo do construtor default
{
}
texto :: ~texto() // Defini‡Æo do destrutor
{
}
static01.cpp
#include <iostream>
#include <cstring>
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
carro(char *,char *); // Prot¢tipo do construtor
~carro(); // Prot¢tipo do destrutor
void exibe(); // Prot¢tipo do m‚todo exibe()
void atrib(int); // Prot¢tipo do m‚todo atrib()
private:
char marca[12];
char modelo[7];
static int anofab; // Vari vel-membro static
};
// Incializa a vari vel-membro static anofab
int carro :: anofab = 0;
int main()
{
// Cria objetos chamando o construtor. Esses objetos compartilham
// o valor da vari vel-membro anofab
carro carro1("GM", "Corsa");
carro carro2("Ford", "Focus");
carro1.atrib(2001);
carro1.exibe();
carro2.exibe();
return 0;
}
void carro :: exibe() // Defini‡Æo do m‚todo exibe()
{
cout << "Marca: " << marca << endl;
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl << endl;
}
void carro :: atrib(int ano1) // Defini‡Æo do m‚todo atrib()
{
anofab = ano1;
}
// Defini‡Æo do construtor
carro:: carro (char * marc1,char * model1)
{
strcpy(marca,marc1);
strcpy(modelo,model1);
}
carro :: ~carro() // Defini‡Æo do destrutor
{
}
static02.cpp
#include <iostream>
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
static int anofab; // Vari vel-membro static
private:
char marca[12];
char modelo[7];
};
// Defini‡Æo de vari vel-membro static sem inicializa‡Æo
int carro :: anofab;
int main()
{
carro :: anofab = 2002;
cout << "Ano: " << carro :: anofab << endl;
return 0;
}
static03.cpp
#include <iostream>
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
// Prot¢tipo do membro static exibe()
static void exibe();
private:
char marca[12];
char modelo[7];
static int anofab; // Vari vel-membro static
};
// Incializa a vari vel-membro static anofab
int carro :: anofab = 2000;
int main()
{
// Chama o m‚todo static exibe() sem a existˆncia de objetos.
// Acessa a vari vel compartilhada anofab
carro :: exibe();
return 0;
}
void carro :: exibe() // Defini‡Æo do membro static exibe()
{
cout << "Ano: " << anofab << endl;
}
stlvec01.cpp
#include <iostream>
#include <vector> // Para o container vector
using namespace std;
int main()
{
unsigned int k;
vector<int> pares; // Vetor com elementos do tipo int
pares.push_back(10);
pares.push_back(2);
pares.push_back(8);
pares.push_back(6);
pares.push_back(12);
pares[4] = 14;
for (k = 0;k < pares.size();k++)
{
cout << pares[k] << " ";
}
cout << endl;
return 0;
}
stlvec02.cpp
#include <iostream>
#include <algorithm> // Para o algoritmo sort()
#include <vector> // Para o container vector
using namespace std;
int main()
{
unsigned int k;
vector<int> pares; // Vetor com elementos do tipo int
pares.push_back(10);
pares.push_back(2);
pares.push_back(8);
pares.push_back(6);
pares.push_back(12);
sort(pares.begin(),pares.end());
for (k = 0;k < pares.size();k++)
{
cout << pares[k] << " ";
}
cout << endl;
return 0;
}
string01.cpp
#include <iostream>
using namespace std;
int main()
{
char texto [5] = "Byte";
int i = 0;
while (texto[i] != '\0')
{
cout << texto[i] << endl;
i++;
}
return 0;
}
string02.cpp
#include <iostream>
#include <cstring>
// Para a fun‡Æo strlen()
using namespace std;
int main()
{
char nome[11];
int qtd;
cout << "Digite seu nome: ";
cin >> nome;
qtd = strlen(nome);
cout << "Seu nome tem " << qtd << " caracteres" << endl;
return 0;
}
struct01.cpp
#include <iostream>
using namespace std;
int main()
{
struct st_produto // Gabarto de estrutura
{
char pd_nome[15];
float pd_valor;
};
st_produto produto1 = {"Caneta",1.5};
cout << "Nome: " << produto1.pd_nome << endl;
cout << "Valor: " << produto1.pd_valor << endl;
return 0;
}
struct02.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
int main()
{
struct st_produto // Gabarito de estrutura
{
char pd_nome[15];
float pd_valor;
};
st_produto produto1; // Vari vel-estrutura produto1
strcpy(produto1.pd_nome,"Caneta");
produto1.pd_valor = 1.5;
cout << "Nome: " << produto1.pd_nome << endl;
cout << "Valor: " << produto1.pd_valor << endl;
return 0;
}
struct03.cpp
#include <iostream>
using namespace std;
int main()
{
struct st_produto // Gabarito de estrutura
{
char pd_nome[15];
float pd_valor;
};
st_produto produto1={"Caderno",2.5};
st_produto produto2;
produto2 = produto1;
cout << "Vari vel-estrutura produto2" << endl;
cout << "Nome: " << produto2.pd_nome << endl;
cout << "Valor: " << produto2.pd_valor << endl;
return 0;
}
struct04.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
int main()
{
struct st_produto // Gabarito de estrutura
{
char pd_nome[15];
float pd_valor;
};
st_produto produtos[2];
strcpy(produtos[0].pd_nome,"Caneta");
produtos[0].pd_valor = 1.5;
strcpy(produtos[1].pd_nome,"Caderno");
produtos[1].pd_valor = 2.5;
cout << "Nome: " << produtos[0].pd_nome << endl;
cout << "Valor: " << produtos[0].pd_valor << endl << endl;
cout << "Nome: " << produtos[1].pd_nome << endl;
cout << "Valor: " << produtos[1].pd_valor << endl;
return 0;
}
struct05.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
struct st_produto // Gabarito da estrutura externo
{
char pd_nome[15];
float pd_valor;
};
// Prot¢tipo da fun‡Æo altera() com um ponteiro para o tipo st_produto
void altera(st_produto *);
int main()
{
st_produto produto1={"Caneta",1.5};
// Chama a fun‡Æo altera() passando o endere‡o da estrutura
altera(&produto1);
cout << "Estrutura depois da chamada" << endl;
cout << "Nome: " << produto1.pd_nome << endl;
cout << "Valor: " << produto1.pd_valor << endl;
return 0;
}
void altera(st_produto * prod) // Defini‡Æo da fun‡Æo altera()
{
strcpy(prod->pd_nome,"Lapiseira");
prod->pd_valor = 3.5;
}
struct06.cpp
#include <iostream>
using namespace std;
void reajuste(float &); // Prot¢tipo da fun‡Æo reajuste()
int main()
{
struct st_produto // Gabarito da estrutura
{
char pd_nome[15];
float pd_valor;
};
st_produto produto1={"Caneta",1.5};
// O endere‡o do argumento real (membro pd_valor) ‚
// passado para o argumento formal valor
reajuste(produto1.pd_valor);
return 0;
}
void reajuste(float &valor)
{
valor = valor * 1.3;
cout << "Novo valor " << valor << endl;
}
struct07.cpp
#include <iostream>
using namespace std;
struct st_produto // Gabarito de estrutura externo
{
int pd_cod;
char pd_nome[15];
float pd_valor;
};
st_produto ret_struc(); // Prot¢tipo da fun‡Æo ret_struc()
int main()
{
st_produto produto1; // Vari vel-estrutura produto1
produto1 = ret_struc(); // Chamada … fun‡Æo ret_struc()
cout << "Estrutura retornada - fun‡Æo main()" << endl;
cout << "C¢digo: " << produto1.pd_cod << endl;
cout << "Nome: " << produto1.pd_nome << endl;
cout << "Valor: " << produto1.pd_valor << endl;
return 0;
}
// Defini‡Æo da fun‡Æo ret_struc. Armazena os valores digitados na
// vari vel-estrutura produto2, que ‚ retornada na vari vel-estrutura
// produto1.
st_produto ret_struc()
{
st_produto produto2; // Vari vel-estrutura produto2
cout << "C¢digo do produto: ";
cin >> produto2.pd_cod;
cout << "Nome do produto: ";
cin >> produto2.pd_nome;
cout << "Valor do produto: ";
cin >> produto2.pd_valor;
return produto2;
}
struct08.cpp
#include <iostream>
using namespace std;
int main()
{
struct computador
{
char cpu[20];
mutable int ram;
};
const computador micro = {"Pentium 4",128};
micro.ram = 256;
cout << micro.cpu << " - ";
cout << micro.ram << " MB" << endl;
return 0;
}
struct09.cpp
#include <iostream>
using namespace std;
int main()
{
struct st_produto // Gabarito de estrutura
{
char pd_nome[15];
float pd_valor;
};
st_produto * ptr = new st_produto;
cout << "Nome do produto: ";
cin >> ptr->pd_nome;
cout << "Valor do produto: ";
cin >> ptr->pd_valor;
cout << endl << "Valores digitados: ";
cout << ptr->pd_nome << " ";
cout << (*ptr).pd_valor << endl;
delete ptr;
return 0;
}
argcon01.cpp
#include <iostream>
#include <cstring> // Para a fun‡Æo strcpy()
using namespace std;
class carro // Declara‡Æo da classe carro
{
public:
char modelo[7];
int anofab;
void exibe(const int *); // Prot¢tipo do m‚todo exibe()
};
int main()
{
carro carro1; // Cria o objeto carro1
strcpy(carro1.modelo,"Gol");
carro1.anofab = 1999;
cout << "Objeto carro1" << endl;
// Chama o m‚todo exibe() passando como argumento o endere‡o
// da vari vel-membro anofab
carro1.exibe(&carro1.anofab);
return 0;
}
// Exibe os valores do objeto carro1
void carro :: exibe(const int *anofab1)
{
cout << "Modelo: " << modelo << endl;
cout << "Ano: " << anofab << endl;
// *anofab1 = 2002;
}
temcla02.cpp
#include <iostream>
using namespace std;
// Declara‡Æo da classe-template. Ou template <class Tipo1>
template <typename Tipo1>
class xnumeros
{
public:
xnumeros(); // Prot¢tipo do construtor
~xnumeros(); // Prot¢tipo do destrutor
void atrib(); // Prot¢tipo do m‚todo atrib()
void exibe(); // Prot¢tipo do m‚todo exibe()
Tipo1 soma(); // Prot¢tipo do m‚todo soma()
private:
Tipo1 matriz[9];
};
int main ()
{
xnumeros <int> NInt; // Cria o objeto NInt
xnumeros <float> NFloat; // Cria o objeto NFloat
// Objeto chama os m‚todos atrib(), exibe() e soma()
NInt.atrib();
NInt.exibe();
cout << "Somat¢rio (int): " << NInt.soma() << endl;
// Objeto chama os m‚todos atrib(), exibe() e soma()
NFloat.atrib();
NFloat.exibe();
cout << "Somat¢rio (float): " << NFloat.soma() << endl;
return 0;
}
// Defini‡Æo do m‚todo atrib(). Atribui valores aos arrays
template<class Tipo1>
void xnumeros<Tipo1> :: atrib()
{
int i;
for (i = 0;i < 9;i++)
matriz[i] = i + 0.5;
}
// Defini‡Æo do m‚todo exibe(). Exibe os valores do array
template<typename Tipo1>
void xnumeros<Tipo1> :: exibe()
{
int i;
cout << "Valores: ";
for (i = 0; i < 9; i++)
cout << matriz[i] << " ";
cout << endl;
}
// Defini‡Æo do m‚todo soma(). Soma os valore do array
template<typename Tipo1>
Tipo1 xnumeros<Tipo1> :: soma()
{
Tipo1 somat = 0;
int i;
for (i = 0; i < 9; i++)
somat = somat + matriz[i];
return somat;
}
template<typename Tipo1> // Defini‡Æo do construtor
xnumeros<Tipo1> :: xnumeros()
{
}
template<typename Tipo1> // Defini‡Æo do destrutor
xnumeros<Tipo1> :: ~xnumeros()
{
}
temfun01.cpp
#include <iostream>
using namespace std;
// Prot¢tipo da fun‡Æo-template
template <typename TGen> // Ou template <class TGen>
TGen MenorVal(TGen a, TGen b);
int main()
{
int x1 = 10,x2 = 20,resint;
char z1 = 'B',z2 = 'Z',reschar;
// Chama a fun‡Æo-template com argumentos do tipo int
resint = MenorVal(x1,x2);
cout << "Menor valor (int): " << resint << endl;
// Chama a fun‡Æo-template com argumentos do tipo char
reschar = MenorVal(z1,z2);
cout << "Menor valor (char): " << reschar << endl;
return 0;
}
// Defini‡Æo da fun‡Æo-template
template <typename TGen>
TGen MenorVal(TGen n1, TGen n2)
{
return (n1 < n2) ? n1 : n2;
}
temfun02.cpp
#include <iostream>
using namespace std;
// Prot¢tipo da fun‡Æo-template original
template <typename TGen> // Ou template <class TGen>
TGen MenorVal(TGen a, TGen b);
// Prot¢tipo da nova fun‡Æo-template
template <typename TGen> // Ou template <class TGen>
TGen MenorVal(TGen [ ],int qtdelem);
int main()
{
float y1 = 10.5,y2 = 30.5,resfloat;
const int Kelem = 4;
int numeros[Kelem] = {2,4,1,3},result;
// Chama a fun‡Æo-template original com argumentos float
resfloat = MenorVal(y1,y2);
cout << "Menor valor (float): " << resfloat << endl;
// Chama a nova fun‡Æo-template com argumento que ‚ um array de inteiros
result = MenorVal(numeros,Kelem);
cout << "Menor valor (array): " << result << endl;
return 0;
}
// Defini‡Æo da fun‡Æo-template original
template <typename TGen>
TGen MenorVal(TGen a, TGen b)
{
return (a < b) ? a : b;
}
// Defini‡Æo da nova fun‡Æo-template
template <typename TGen>
TGen MenorVal(TGen xnumeros[ ],int qtdelem1)
{
TGen menor;
int k;
menor = xnumeros[1];
for (k = 0;k < qtdelem1;k++)
{
if (xnumeros[k] < menor)
menor = xnumeros[k];
}
return menor;
}
this01.cpp
#include <iostream>
using namespace std;
class classe1
{
public:
classe1(int); // Prot¢tipo do construtor
void exibe(); // Prot¢tipo do m‚todo exibe()
private:
int valor;
};
int main()
{
// Cria o objeto objeto1, chamando o construtor
classe1 objeto1(50);
objeto1.exibe();
return 0;
}
void classe1 :: exibe() // Defini‡Æo do m‚todo exibe()
{
cout << "Valor (sem o ponteiro this): " << valor << endl;
cout << "Valor (com o ponteiro this): " << this -> valor << endl;
cout << "Valor (com o ponteiro this de-referenciado): "
<< (*this).valor << endl;
}
classe1 :: classe1(int valor1) // Defini‡Æo do construtor
{
valor = valor1;
}
cin11.cpp
#include <iostream>
using namespace std;
int main()
{
char texto[30];
cout << "Digite um texto terminado por '@': " << endl;
cin.get(texto,30,'@'); // Ou cin.getline(texto,30,'@');
cout << "O texto " << texto << " tem " << strlen(texto)
<< " caracteres" << endl;
return 0;
}
cin03.cpp
#include <iostream>
using namespace std;
int main()
{
int idade = 0;
cout << "Digite sua idade: ";
cin >> idade;
cout << "Vocˆ tem " << idade << " anos" << endl;
return 0;
}
cin04.cpp
#include <iostream>
using namespace std;
int main()
{
int idade = 0;
cout << "Digite sua idade: ";
if (cin >> idade == 0)
cout << "Erro de leitura. Dados inv lidos." << endl;
else
cout << "Vocˆ tem " << idade << " anos" << endl;
return 0;
}
cin05.cpp
#include <iostream>
using namespace std;
int main()
{
int numero;
int somat = 0;
cout << "Digite alguns n£meros: " << endl;
while (cin >> numero != 0) // Ou while (cin >> numero)
somat = somat + numero;
cout << "éltimo n£mero digitado: " << numero << endl;
cout << "Somat¢rio: " << somat << endl;
return 0;
}
cin06.cpp
#include <iostream>
using namespace std;
int main()
{
int idade = 0;
cout << "Digite sua idade: ";
cin >> idade;
if (cin.fail())
cout << "Erro de leitura. Dados inv lidos." << endl;
else
cout << "Vocˆ tem " << idade << " anos" << endl;
return 0;
}
cin07.cpp
#include <iostream>
using namespace std;
int main()
{
int numero;
int somat = 0;
cout << "Digite alguns n£meros: " << endl;
while (cin >> numero)
somat = somat + numero;
cout << "éltimo n£mero digitado: " << numero << endl;
cout << "Somat¢rio: " << somat << endl;
if (cin.fail())
cout << "Programa terminado. Dados inv lidos." << endl;
return 0;
}
cin08.cpp
#include <iostream>
using namespace std;
int main()
{
int cont = 0;
char ch;
cout << "Digite uma frase e pressione Enter:" << endl;
cin.get(ch); // Ou ch = cin.get();
while (ch != '\n')
{
cont++;
cout << ch;
cin.get(ch); // Ou ch = cin.get();
}
cout << endl;
cout << "Caracteres digitados: " << cont << endl;
return 0;
}
cin09.cpp
#include <iostream>
using namespace std;
int main()
{
int cont = 0;
char ch;
cout << "Digite uma frase e pressione Enter:" << endl;
cin >> ch;
while (ch != '\n')
{
cont++;
cout << ch;
cin >> ch;
}
cout << endl;
cout << "Caracteres digitados: " << cont << endl;
return 0;
}
cin10.cpp
#include <iostream>
using namespace std;
int main()
{
int cont = 0;
char ch;
cout << "Digite uma frase e pressione Enter:" << endl;
cin.get(ch); // Ou ch = cin.get();
while (cin.eof() == false) // Ou while(ch != EOF)
{
cont++;
cout << ch;
cin.get(ch); // Ou ch = cin.get();
}
cout << endl;
cout << "Caracteres digitados: " << cont << endl;
return 0;
}
cin12.cpp
#include <iostream>
using namespace std;
int main()
{
char texto[20],ch;
cout << "Digite um texto terminado por '@': " << endl;
cin.get(texto,20,'@');
cout << "O texto " << texto << " tem " << strlen(texto)
<< " caracteres" << endl;
cout << "Caracteres no buffer: ";
while ((ch = cin.get()) != '\n')
cout << ch;
cout << endl;
return 0;
}
cin13.cpp
#include <iostream>
using namespace std;
int main()
{
char texto[20],ch;
cout << "Digite um texto terminado por '@': " << endl;
cin.getline(texto,20,'@');
cout << "O texto " << texto << " tem " << strlen(texto)
<< " caracteres" << endl;
cout << "Caracteres no buffer: ";
while ((ch = cin.get()) != '\n')
cout << ch;
cout << endl;
return 0;
}
cin14.cpp
#include <iostream>
using namespace std;
int main()
{
const int Klimite = 21;
char texto[Klimite];
int qtde;
cout << "Digite um texto, at‚ 20 caracteres: " << endl;
// cin.getline(texto,Klimite);
cin.get(texto,Klimite);
qtde = cin.gcount();
cout << "Vocˆ digitou " << qtde << " caracteres" << endl;
return 0;
}
cin15.cpp
#include <iostream>
using namespace std;
int main()
{
char nome[20];
cout << "Digite seu nome: ";
cin.width(12);
cin >> nome;
cout << "Ol " << nome << endl;
return 0;
}
pf01.cpp
#include <iostream>
using namespace std;
void exibe(); // Prot¢tipo da fun‡Æo exibe()
int somar(int,int); // Prot¢tipo da fun‡Æo somar()
int main()
{
int result;
// Declara um ponteiro para uma fun‡Æo que nÆo retorna
// valor nem recebe argumentos
void (*p1) ();
p1 = exibe; // Atribui o endere‡o de exibe() … p1
(*p1) (); // Chama a fun‡Æo exibe()
// Declara um ponteiro para uma fun‡Æo que retorna um valor
// int e que recebe 2 argumentos
int (*p2) (int,int);
p2 = somar; // Atribui o endere‡o de somar() … p2
result = (*p2) (10,20); // Chama a fun‡Æo somar()
cout << "Adi‡Æo: " << result << endl;
return 0;
}
void exibe()
{
cout << "Fun‡Æo Exibe" << endl;
}
int somar(int n1,int n2)
{
return n1 + n2;
}
cout08.cpp
#include <iostream>
using namespace std;
int main()
{
char nome[14] = "Linguagem C++";
cout.write("Classe",5) << endl;
cout.write(nome,1).write(nome,3) << endl;
cout.write(nome,13) << endl;
return 0;
}
cout02.cpp
#include <iostream>
using namespace std;
int main()
{
int k = 5;
float saldo = 3.34567;
while (k > 0)
{
cout.precision(k);
cout << saldo << endl;
k -= 1;
}
return 0;
}
cout03.cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
// setw define 10 caracteres de comprimento, como o valor ocupa
// 6 posi‡äes, h o preenchimento com 4 *
float compra = 200.55;
cout.fill('*');
cout << "Compra: " << setw(10) << compra << endl;
return 0;
}
cout04.cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << "123456789" << endl;
cout << setw(3) << "abc" << endl;
cout << setw(4) << 123 << endl;
cout << setw(5) << 123 << endl;
return 0;
}
cout05.cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int k = 5;
float saldo = 3.34567;
while (k > 0)
{
cout << setprecision(k) << saldo << endl;
k -= 1;
}
return 0;
}
cout06.cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
// setw define 10 caracteres de comprimento, como o valor
// ocupa 6 posi‡äes, h o preenchimento com 4 *
float compra = 200.55;
cout << setfill('*');
cout << "Compra: " << setw(10) << compra << endl;
return 0;
}
cout07.cpp
#include <iostream>
using namespace std;
int main()
{
char letra = 'A';
cout.put(letra) << endl;
cout.put('Z') << endl;
cout.put('C').put('+').put('+') << endl;
return 0;
}
cout01.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "123456789" << endl;
cout.width(3);
cout << "abc" << endl;
cout.width(4);
cout << 123 << endl;
cout.width(5);
cout << 123 << endl;
return 0;
}
cout09.cpp
#include <iostream>
using namespace std;
int main()
{
int valor1 = 10;
cout << hex << "Valores hexadecimais" << endl;
cout << "Sem showbase: " << valor1 << endl;
cout.setf(ios_base :: showbase);
cout << "Com showbase: " << valor1 << endl;
return 0;
}
cout10.cpp
#include <iostream>
using namespace std;
int main()
{
int a = 1, b = 2;
cout << "Sem boolalpha: ";
cout << (a > b) << endl;
cout.setf(ios_base::boolalpha);
cout << "Com boolalpha: ";
cout << (a > b) << endl;
return 0;
}
cout11.cpp
#include <iostream>
using namespace std;
int main()
{
int valor1 = 10;
cout.setf(ios_base::hex,ios_base::basefield);
cout << "HEXADECIMAL: " << valor1 << endl;
cout.setf(ios_base::oct,ios_base::basefield);
cout << "OCTAL: " << valor1 << endl;
cout.setf(ios_base::dec,ios_base::basefield);
cout << "DECIMAL: " << valor1 << endl;
return 0;
}
cout12.cpp
#include <iostream>
using namespace std;
int main()
{
float valor1 = 100.;
cout << "Com fixed: ";
cout.setf(ios_base::fixed,ios_base::floatfield);
cout << valor1 << endl;
cout << "Com scientific: ";
cout.setf(ios_base::scientific,ios_base::floatfield);
cout << valor1 << endl;
return 0;
}
cout13.cpp
#include <iostream>
using namespace std;
int main()
{
int valor = 10;
cout << hex; // Passa a exibir valores em hexadecimal
// Ou cout.setf(ios_base::hex,ios_base::basefield);
cout << valor << endl;
// Retorna ao sistema num‚rico default (decimal)
cout.unsetf(ios_base::hex);
cout << valor << endl;
return 0;
}
cout14.cpp
#include <iostream>
using namespace std;
int main()
{
int valor1 = 10,valor2 = 15;
cout << hex << "HEXADECIMAL: " << uppercase;
cout.width(2);
cout << right << valor1 << " " << valor2 << endl;
cout << oct << "OCTAL: ";
cout.width(8);
cout << right << valor1 << " " << valor2 << endl;
cout << dec << "DECIMAL: ";
cout.width(6);
cout << right << valor1 << " " << valor2 << endl;
return 0;
}
pointr06.cpp
#include <iostream>
using namespace std;
void exibe(int *); // Prot¢tipo fun‡Æo exibe()
int main()
{
int *ptr = new int[3];
ptr[0] = 10,ptr[1] = 20,ptr[2] = 30;
cout << "Fun‡Æo main(): ";
cout << ptr[0] << " ";
cout << ptr[1] << " ";
cout << ptr[2] << endl;
exibe(&ptr[0]); // Ou exibe(ptr)
delete [ ] ptr; // Libera o bloco alocado
cout << endl;
return 0;
}
void exibe(int *ender) // Defini‡Æo da fun‡Æo exibe()
{
cout << "Fun‡Æo exibe(): ";
cout << ender[0] << " ";
cout << ender[1] << " ";
cout << ender[2] << endl;
}
pointr02.cpp
#include <iostream>
using namespace std;
int main()
{
int x = 3;
int * ptr; // Pointer para um int
ptr = &x; // Atribui o endere‡o de x … ptr
cout << "x tem o valor " << *ptr << endl;
*ptr = *ptr + 100;
cout << "Agora, x tem o valor " << *ptr << endl;
return 0;
}
pointr03.cpp
#include <iostream>
using namespace std;
int main()
{
int * ptr = new int;
if (ptr == 0)
{
cout << "Falta de mem¢ria" << endl;
return 1;
}
else
{
// Atribui o valor 32 ao endere‡o contido em ptr
*ptr = 32;
cout << "O conte£do do endere‡o " << ptr << " ‚ "
<< *ptr << endl;
cout << "O bloco de mem¢ria alocado tem " << sizeof(*ptr)
<< " bytes" << endl;
delete ptr;
return 0;
}
}
pointr04.cpp
#include <iostream>
using namespace std;
int main()
{
int * ptr = new int[4];
ptr[0] = 1;
ptr[1] = 2;
ptr[2] = 3;
ptr[3] = 4;
cout << ptr[0] << " ";
cout << ptr[1] << " ";
cout << ptr[2] << " ";
cout << ptr[3] << " " << endl;
delete [ ] ptr; // Libera o bloco de mem¢ria alocado
return 0;
}
pointr05.cpp
#include <iostream>
using namespace std;
int main()
{
int pares[4] = {10, 20, 30, 40},k;
for (k = 0;k < 4;k++)
{
cout << "O endere‡o do elemento " << k << " ‚: " << &pares[k];
cout << " (valor " << pares[k] << ")" << endl;
}
return 0;
}
pointr01.cpp
#include <iostream>
using namespace std;
int main()
{
int x = 3;
int * ptr; // Ponteiro para um int
ptr = &x; // Atribui o endere‡o da vari vel x … ptr
cout << "A vari vel x cont‚m o valor " << x;
cout << " e est no endere‡o " << ptr << endl;
return 0;
}
pointr07.cpp
#include <iostream>
using namespace std;
int *ptr; // Ponteiro global
void exibe(); // Prot¢tipo da fun‡Æo exibe()
int main()
{
ptr = new int[3];
ptr[0] = 10,ptr[1] = 20,ptr[2] = 30;
cout << "Fun‡Æo main(): ";
cout << ptr[0] << " ";
cout << ptr[1] << " ";
cout << ptr[2] << endl;
exibe(); // Chama a fun‡Æo exibe() sem argumentos
delete [] ptr; // Libera o bloco alocado
return 0;
}
void exibe() // Defini‡Æo da fun‡Æo exibe()
{
cout << "Fun‡Æo exibe(): ";
cout << ptr[0] << " ";
cout << ptr[1] << " ";
cout << ptr[2] << endl;
}
pointr08.cpp
#include <iostream>
using namespace std;
int main()
{
int k;
int * ptr = new int[3];
for (k = 0;k < 3;k++) // Atribui valores ao array dinƒmico
ptr[k] = k;
// Exibe os valores do array dinƒmico via de-referˆncia
cout << *ptr << " ";
ptr++; // Adiciona 4 ao endere‡o contido em ptr
cout << *ptr << " ";
ptr++; // Adiciona 4 ao endere‡o contido em ptr
cout << *ptr << " ";
ptr++; // Adiciona 4 ao endere‡o contido em ptr
delete [] ptr; // Libera o bloco alocado
cout << endl;
return 0;
}
string07.cpp
#include <iostream>
using namespace std;
int main()
{
// Aloca um bloco de mem¢ria de 10 elementos
char * ptr = new char[10];
char letra = '@';
int k;
for (k = 0;k < 9;k++) // Atribui valores de A at‚ I
{
letra++;
ptr[k] = letra;
}
ptr[k] = '\0'; // Finaliza o string
k = 0;
while(ptr[k] != '\0') // Exibe valores
{
cout << ptr[k] << " ";
k++;
}
delete [ ] ptr; // Libera o bloco alocado
cout << endl;
return 0;
}
string04.cpp
#include <iostream>
using namespace std;
int main()
{
char nome[15],esporte[10];
cout << "Digite seu nome completo: ";
cin.get(nome,15);
cin.get(); // Lˆ
o caractere de nova-linha
cout << "Digite seu esporte favorito: ";
cin.get(esporte,10); // Ou cin.getline(esporte,10);
cout << "Seu esporte favorito ‚ " << esporte << ", " << nome << endl;
return 0;
}
string05.cpp
#include <iostream>
using namespace std;
int main()
{
char texto[5] = "byte";
int k = 0;
while (texto[k] != '\0')
{
cout << texto[k] << endl;
k++;
}
return 0;
}
string06.cpp
#include <iostream>
using namespace std;
int main()
{
char texto[5] = "byte";
int k = 0;
char * ptr = texto;
while (ptr[k] != '\0')
{
cout << ptr[k] << endl;
k++;
}
return 0;
}
string03.cpp
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char nome[11];
int qtd;
cout << "Digite seu nome completo: ";
cin.get(nome,11); // Ou cin.getline(nome,11);
qtd = strlen(nome);
cout << "Seu nome tem " << qtd << " caracteres" << endl;
return 0;
}
string08.cpp
#include <iostream>
using namespace std;
int main()
{
const int Klimite = 20;
char * ptr = new char[Klimite];
cout << "Digite seu nome e sobrenome: ";
cin.get(ptr,Klimite);
cout << "Vocˆ se chama " << ptr << endl;
delete [ ] ptr;
return 0;
}
string09.cpp
#include <iostream>
using namespace std;
void exibe(char *); // Prot¢tipo da fun‡Æo exibe()
int main()
{
char texto[9] = "string1";
// Ponteiro para um char que aponta para um string
char * ptr = "string2";
exibe(texto);
exibe(ptr);
exibe("string3");
return 0;
}
void exibe(char * ptr1) // Defini‡Æo da fun‡Æo exibe()
{
static int n;
n++;
cout << "Chamada " << n << ": ";
while (*ptr1 != '\0')
{
cout << *ptr1;
ptr1++;
}
cout << endl;
}
string10.cpp
#include <iostream>
using namespace std;
char * exibe(char); // Prot¢tipo da fun‡Æo exibe()
int main()
{
char * ptr; // Ponteiro para um char
char caract;
cout << "Digite o caractere a ser repetido: ";
cin >> caract;
ptr = exibe(caract); // Chama a fun‡Æo exibe()
cout << ptr << endl;
delete [ ] ptr; // Libera o bloco de mem¢ria alocado
return 0;
}
char * exibe(char caract1) // Defini‡Æo da fun‡Æo exibe()
{
int k;
char * ptr1 = new char[11]; // Aloca‡Æo
for (k = 0;k < 10;k++)
ptr1[k] = caract1;
ptr1[k] = '\0'; // Finaliza o string
return ptr1;
}
string11.cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
char * semana[8] = { " ", "Domingo", "Segunda-feira",
"Ter‡a-feira", "Quarta-feira",
"Quinta-feira", "Sexta-feira",
"S bado"
};
int dia;
cout << "Digite um n£mero de 1 a 7: ";
cin >> dia;
cout << semana[dia] << endl;
return 0;
}
prep04.cpp
#include <iostream>
#define NUMERO1 5
#define MULT2(n1,n2) (n1 * n2)
using namespace std;
int main()
{
int produto;
#undef NUMERO1
#if NUMERO1
produto = MULT2(NUMERO1,2);
cout << produto << endl; // 10
#else
produto = MULT2(0,0);
cout << produto << endl; // 0
#endif
return 0;
}
prep01.cpp
#include <iostream>
#define SOMAR(v1,v2)(v1+v2)
using namespace std;
int main()
{
int val1 = 10, val2 = 20, total;
total = 2 * SOMAR(val1,val2);
cout << "Total: " << total << endl;
return 0;
}
prep02.cpp
#include <iostream>
#line 50
using namespace std;
int main()
{
cout << "Linha "<< __LINE__;
return 0;
}
prep03.cpp
#include <iostream>
#define NUMERO1 5
#define SOMAR(n1,n2) (n1 + n2)
using namespace std;
int main()
{
int total;
total = SOMAR(NUMERO1,3);
cout << total << endl; // 8
#undef NUMERO1
// total = SOMAR(NUMERO1,3); // Erro, NUMERO1 foi removido
#define NUMERO1 9 // NUMERO1 passa a ter o valor 9
total = SOMAR(NUMERO1,4);
cout << total; // 13
return 0;
}
assert01.cpp
#include <iostream>
#include <cassert>
using namespace std;
int main()
{
int mes = 13;
assert(mes <= 12);
cout << "1";
return 0;
}
prep05.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Data: " << __DATE__ << endl;
cout << "Arquivo: " << __FILE__ << endl;
cout << "Linha: " << __LINE__ << endl;
cout << "Hora: " << __TIME__ << endl;
cout << "PadrÆo: " << __STDC__ << endl;
cout << "C++: " << __cplusplus << endl;
cout << "djgpp: " << __DJGPP << endl;
cout << "Fun‡Æo: " << __func__ << endl;
// cout << " " << __TIMESTAMP__ << endl;
#ifndef __cplusplus
#error Preciso do compilador C++
#endif
if (__STDC__)
cout << "PadrÆo ANSI" << endl;
return 0;
}
prep06.cpp
#include <iostream>
using namespace std;
int main()
{
#infdef __cplusplus
#error Preciso do compilador C++
#endif
return 0;
}
prep07.cpp
#include <iostream>
using namespace std;
#define formata(x) cout << "Bom dia, " #x << endl;
int main()
{
formata(Joel);
cout << "Bom dia, " "Joel" << endl;
return 0;
}
prep08.cpp
#include <iostream>
using namespace std;
#define concat(a,b) a##b
int main()
{
int xy = 99;
cout << concat(x,y); // Transforma em cout << xy;
return 0;
}
pvoid02.cpp
#include <iostream>
using namespace std;
int main()
{
int valor = 11;
void * ptvoid; // Ponteiro void
float * pf; // Ponteiro para um float
ptvoid = &valor; // Armazena em ptvoid o endere‡o de um int
cout << "Endere‡o de valor: "<< ptvoid << endl;
// Atribui o ponteiro void ptvoid a um ponteiro para um float.
// O ponteiro para float, pf, armazena o endere‡o de ptvoid que ‚ o
// endere‡o de valor.
pf = static_cast<float *>(ptvoid);
cout << "Endere‡o em pf: " << pf << endl;
return 0;
}
iniobj01.cpp
#include <iostream>
using namespace std;
class pessoa // Declara‡Æo da classe pessoa
{
public:
void exibe(); // Prot¢tipo do m‚todo exibe()
pessoa() : idade(15),sexo('M') // Construtor com inicializa‡Æo
{ }
private:
int idade;
char sexo;
};
int main()
{
// Cria objeto da classe pessoa, inicializado com os valores do construtor
pessoa p1;
p1.exibe(); // Objeto p1 chama o m‚todo exibe()
return 0;
}
void pessoa::exibe() // Defini‡Æo do m‚todo exibe()
{
cout << "Idade: " << idade << endl;
cout << "Sexo: " << sexo << endl;
}
iniobj02.cpp
#include <iostream>
using namespace std;
class pessoa // Declara‡Æo da classe pessoa
{
public:
void exibe(); // Prot¢tipo do m‚todo exibe()
// Construtor
pessoa(int idade1,char sexo1) : idade(idade1),sexo(sexo1)
{ }
private:
int idade;
char sexo;
};
int main()
{
pessoa p1(15,'F'); // Cria objeto da classe pessoa, inicializando-o
p1.exibe(); // Objeto p1 chama o m‚todo exibe()
return 0;
}
void pessoa::exibe() // Defini‡Æo do m‚todo exibe()
{
cout << "Idade: " << idade << endl;
cout << "Sexo: " << sexo << endl;
}
pvoid01.cpp
#include <iostream>
using namespace std;
int main()
{
int valor = 11; // Vari vel do tipo int
float saldo = 99.55; // Vari vel do tipo float
void * ptvoid; // Ponteiro void
ptvoid = &valor; // Armazena em ptvoid o endere‡o de um int
cout << "Endere‡o de valor: " << ptvoid << endl;
ptvoid = &saldo; // Armazena em ptvoid o endere‡o de um float
cout << "Endere‡o de saldo: " << ptvoid << endl;
return 0;
}
explic01.cpp
#include <iostream>
using namespace std;
class teste // Declara‡Æo da classe teste
{
public:
int valor;
teste(int valor1 = 10) : valor(valor1) // Construtor com 1 argumento
{ }
};
void exibe(teste); // Prot¢tipo da fun‡Æo nÆo-membro exibe()
int main()
{
int k = 44;
teste teste1(k); // Cria objeto da classe teste com o valor de k
cout << "Argumento do tipo objeto: ";
exibe(teste1);
cout << "Argumento do tipo int: ";
exibe(88);
return
0;
}
void exibe(teste arg) // Defini‡Æo da fun‡Æo nÆo-membro exibe()
{
cout << arg.valor << endl;
}
typcas01.cpp
#include <iostream>
using namespace std;
int main()
{
int x = 10,y = 4;
float q;
q = static_cast<float>(x) / static_cast<float>(y);
// A vari vel y sofre uma promo‡Æo para o tipo float, porque
// a vari vel x, temporariamente, passou a ser float.
// q = static_cast<float>(x) / y;
cout << q;
return 0;
}
typcas02.cpp
#include <iostream>
using namespace std;
void altera(const int * pt); // Prot¢tipo da fun‡Æo altera()
int main()
{
int valor = 55;
cout << "valor antes: " << valor << endl;
altera(&valor); // Chama a fun‡Æo altera()
cout << "valor depois: " << valor << endl;
return 0;
}
void altera(const int * pt1) // Defini‡Æo da fun‡Æo altera()
{
int * pt2;
pt2 = const_cast<int *>(pt1);
*pt2 = 999;
}
typcas03.cpp
#include <iostream>
using namespace std;
int main()
{
int valor = 65;
int * ptr = &valor;
cout << *reinterpret_cast<char *>(ptr) << endl;
return 0;
}
rtti01.cpp
#include <iostream>
#include <typeinfo>
using namespace std;
class ClaBase
{
public:
virtual void dummy()
{
}
};
class ClaDeriv : public ClaBase
{
};
int main()
{
// Cria ponteiro para a classe-base
ClaBase * PBase;
// Ponteiro da classe-base aponta para objeto da classe derivada
PBase = new ClaDeriv;
cout << "PBase: " << PBase << " ";
cout << "Nome do tipo: " << typeid(PBase).name() << endl;
// Cria novo ponteiro a partir do ponteiro PBase, via dynamic_cast
ClaDeriv * PDeriv = dynamic_cast<ClaDeriv*>(PBase);
if (PDeriv != 0)
{
cout << "PDeriv: " << PDeriv << " ";
cout << "Nome do tipo: " << typeid(PDeriv).name();
}
else
{
cout << "ConversÆo imposs¡vel" << endl;
return 1;
}
return 0;
}
// Cria novo ponteiro a partir do ponteiro PBase
// ClaDeriv * PDeriv;
// PDeriv = dynamic_cast<ClaDeriv*>(PBase);