Escolar Documentos
Profissional Documentos
Cultura Documentos
20 de Setembro de 2013
Lucas Lellis
Introdu c ao ao C++
Introdu c ao Recursos C e C++ Conceitos B asicos A estrutura de um programa Vari aveis, tipos de dados e operadores Declara c ao e aloca c ao din amica de vetores Objetos e Classes Objetos Classes Recursos interessantes Containers, Templates e Operators Bibliograa e Conclus ao Bibliograa O que vem pela frente?
Lucas Lellis Introdu c ao ao C++
Recursos C e C++
Introdu c ao
Foi desenvolvido por Bjarne Stroustrub em 1983, com o nome C with classes Considerada uma linguagem de m edio n vel, pois combina caracter sticas de linguagens de alto e baixo n veis. Possibilita um aprendizado gradual, voc e vai aprendendo conforme as necessidades dos seus projetos. Surgiu a partir da linguagem C. Apesar disso, a sua forma de programar e muito diferente. Caracter sticas emprestadas das linguagens: Simula 67, ALGOL 68, Ada, CLU e ML.
Lucas Lellis
Introdu c ao ao C++
Recursos C e C++
Recursos
uma C melhor E Suporta abstra c ao de dados Suporte ` a orienta c ao a objetos Heran ca m ultipla Programa c ao gen erica (Templates) Fun c oes virtuais Sobrecarga de operadores Tratamento de exce c oes
Lucas Lellis
Introdu c ao ao C++
Recursos C e C++
C e C++
Os c odigos em C podem ser reaproveitados normalmente em C++, assim, torna-se desnecess aria a reescritura dos c odigos. Muitas fun c oes da biblioteca do C podem ser utilizadas em c odigos de C++, tornando mais f acil a adapta c ao dos desenvolvedores e de seus projetos. Sugest oes para programadores C: Declare uma vari avel somente quando for utiliz a-la de fato, inclusive dentro de la cos de repeti c ao (for) N ao use Malloc(), o operador new faz melhor a mesma tarefa. E, em vez de realloc(), tente vector. Minimize a utiliza c ao de arrays primitivos e strings ao estilo de C. As classes string e vector da biblioteca padr ao do C++ s ao mais completas e vers ateis.
Lucas Lellis Introdu c ao ao C++
A estrutura de um programa Vari aveis, tipos de dados e operadores Declara c ao e aloca c ao din amica de vetores
Conceitos B asicos
Nesse trecho vamos aprender alguns conceitos b asicos do C++: A estrutura de um programa; Os tipos de dados b asicos e operadores;
Lucas Lellis
Introdu c ao ao C++
A estrutura de um programa Vari aveis, tipos de dados e operadores Declara c ao e aloca c ao din amica de vetores
A estrutura de um programa
Provavelmente, a melhor forma de aprender uma linguagem de programa c ao e escrevendo um programa, vamos come car lembrando como seria uma implementa c ao em C do famoso programa Hello World: Exemplo 01 - Hello World em C
//Exemplo do programa em C #include <stdio.h> #include <stdlib.h> int main () { printf("Hello World!"); return 0; }
Lucas Lellis Introdu c ao ao C++
A estrutura de um programa Vari aveis, tipos de dados e operadores Declara c ao e aloca c ao din amica de vetores
Vejamos agora, o mesmo programa escrito em C++: Exemplo 02 - Hello World em C++
//Nosso primeiro programa em C++ #include <iostream> using namespace std; int main () { cout << "Hello World!"; return 0; }
A estrutura do programa em C++ e muito semelhante ` a da linguagem C. A declara c ao de vari aveis e fun c oes, os coment arios, os agrupamentos e os la cos de repeti c ao permanecem os mesmos. Percebe-se a utiliza c ao de novos operadores e fun c oes diferentes para entrada e sa da do console. A fun c ao cout imprime uma
Lucas Lellis Introdu c ao ao C++
A estrutura de um programa Vari aveis, tipos de dados e operadores Declara c ao e aloca c ao din amica de vetores
Cuidado ao nomear suas vari aveis, elas n ao podem sobrescrever os identicadores, que s ao palavras reservadas pela linguagem, nem sobrescrever outras vari aveis com o mesmo nome.
Lucas Lellis Introdu c ao ao C++
A estrutura de um programa Vari aveis, tipos de dados e operadores Declara c ao e aloca c ao din amica de vetores
Podemos citar alguns tipos de dados fundamentais: Tipos fundamentais bool Booleano*, poss veis valores s ao true ou false. char Caract ere, exemplo: a, z e 9. int N umero inteiro, como 1, 12545 e 0. short N umero inteiro pequeno long N umero inteiro grande oat N umero ponto utuante. double N umero ponto utuante com dupla precis ao.
ng double N umero p. f. longo com dupla precis ao. *O tipo bool eou nico que ainda n ao existia na linguagem C. Obs. : Ao adicionar unsigned antes de qualquer um desses tipos retira-se a possibilidade de existirem numeros negativos.
Lucas Lellis Introdu c ao ao C++
A estrutura de um programa Vari aveis, tipos de dados e operadores Declara c ao e aloca c ao din amica de vetores
Para qualquer um deles, podemos utilizar os seguintes operadores: Operadores aritm eticos + soma - subtra c ao * multiplica c ao / divis ao % resto da divis ao Operadores de compara c ao == igual != diferente < menor > maior <= menor ou igual
Lucas Lellis Introdu c ao ao C++
A estrutura de um programa Vari aveis, tipos de dados e operadores Declara c ao e aloca c ao din amica de vetores
strings
O C++ oferece um suporte mais completo ` as strings, agora denidas pela classe string. Manipul a-las se tornou uma tarefa muito mais simples. Veja o exemplo abaixo: Exemplo 04 - Manipula c ao de strings
int main (){ string nome = "Bjarne"; string sobrenome("Stroustrup"); string completo = nome + + sobrenome; cout << "Seu nome completo eh: " << completo << endl; return 0; }
Lucas Lellis
Introdu c ao ao C++
A estrutura de um programa Vari aveis, tipos de dados e operadores Declara c ao e aloca c ao din amica de vetores
Lucas Lellis
Introdu c ao ao C++
A estrutura de um programa Vari aveis, tipos de dados e operadores Declara c ao e aloca c ao din amica de vetores
Em alguns casos n ao e poss vel declarar um vetor, ou matriz diretamente, a aloca c ao din amica de vari aveis agora e feita atrav es do operador new: Aloca c ao din amica de uma matriz
int main (){ int lin, col; cin >> lin >> col; int** mat = new int* [lin]; //Alocando um vetor de ponteiros for(int i = 0; i < lin; i++){ mat[ i ] = new int [ col ]; } }
Lucas Lellis
Introdu c ao ao C++
Objetos Classes
Objetos
O Mundo Real e formado por objetos que interagem entre si (casa, carro, aluno, professor, etc) O que e um objeto? Qualquer coisa, real ou abstrata, com limites e signicados bem denidos para a aplica c ao. Possuem um estado (valores de atributos) e oferecem opera c oes (comportamentos) para examinar ou alterar este estado.
Lucas Lellis
Introdu c ao ao C++
Objetos Classes
Podemos representar um objeto como uma entidade individual, que possui seus atributos e suas fun c oes. Em C++, os atributos seriam as vari aveis que guardam suas informa c oes. E as fun c oes, ou ( m etodos ), s ao fun c oes usadas para interagir com esse objeto, como uma fun c ao usada para mudar algum atributo, por exemplo. Pera a ! S o um detalhe, n os n ao programamos objetos diretamente!! Temos que criar uma CLASSE de objetos antes.
Lucas Lellis
Introdu c ao ao C++
Objetos Classes
Classes
O que e uma classe? uma forma de CLASSIFICAR um tipo de objetos.. Ou seja, E quando dois objetos possuem o mesmo tipo de atributos e as mesmas fun c oes, eles pertencem a uma mesma classe. Assim que criamos uma classe, podemos INSTANCIAR um objeto, com seus respectivos atributos, que s ao individuais para cada objeto.
Lucas Lellis
Introdu c ao ao C++
Objetos Classes
Classes em C++
Declarando uma classe.
class nome_da_classe { //Atributos int X, Y; public: //Metodos int funcao ( int val ) { return ( X*val + Y ); } };
Podemos decidir o qu e e como as outras classes interagem com a nossa classe. Por meio do encapsulamento, que ser a melhor trabalhado nas pr oximas palestras.
Lucas Lellis Introdu c ao ao C++
Recursos interessantes
Nessa parte, ser ao apresentados alguns recursos interessantes do C++, que ser ao trabalhados individualmente nas pr oximas palestras. Fique atento ` as atualiza c oes da p agina ocial do PESL!
Lucas Lellis
Introdu c ao ao C++
O que s ao Containers? Containers s ao classes especiais usadas para armazenar qualquer tipo de objeto ou vari avel. Muitas estruturas de dados conhecidas j a est ao implementadas na forma de container, como vetor, la e pilha, e o melhor, eles podem ser aplicados para qualquer objeto ou vari avel, basta passar o tipo de dados ( ou a classe ) como par ametro, ou seja, elas s ao classes Template.
Lucas Lellis
Introdu c ao ao C++
Template? Nunca ouvi falar.. Templates s ao classes que recebem um tipo de dados, ou at e outra classe como par ametro, e uma caracter stica muito favor avel ` a programa c ao gen erica, permitindo que as mesmas linhas de c odigo sejam aplicadas em outras partes do programa, ou at e em outros projetos. Esse recurso e muito u til no desenvolvimento de bibliotecas de c odigo aberto, j a que os usu arios podem ter mais exibilidade ao usar seus recursos. Voc es ainda v ao precisar de um tempo para aprender a usar classes, e um pouco mais de experi encia em C++ para usar e explorar bem esses recursos. Nas pr oximas palestras vamos apresentar cada um desses recursos com muito mais cuidado, mostrando exemplos de c odigos, e fazendo exerc cios durante a ocina.
Lucas Lellis Introdu c ao ao C++
Scott Meyers - Eective C++, Eective STL e More Eective C++ http://www.cplusplus.com/ http://www.cplusplus.com/doc/tutorial/ http://punchlet.wordpress.com/ http://stackoverow.com/ http://www.parashift.com/c++-faq-lite/index.html
3 4 5 6 7
Lucas Lellis
Introdu c ao ao C++
Portal do Programa de Educa c ao em Software Livre http://pinguim.pro.br/ Facebook: https://www.facebook.com/PESL.PInguim Youtube: http://www.youtube.com/user/pinguimvideos/
Lucas Lellis Introdu c ao ao C++
3 4