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);