Você está na página 1de 37

Programar em C++ 1

Programar em C++
É pré-requisito para este livro sólidos conhecimentos sobre linguagem C e Programação Orientada a Objetos.

C++ é uma linguagem de programação de alto nível com facilidades para o uso em baixo nível. Foi desenvolvida
por Bjarne Stroustrup (foto) como uma melhoria da linguagem C, e desde os anos 1990 é uma das linguagens mais
populares do mundo.
O leitor poderá se sentir à vontade para expor suas opiniões, sugestões e dúvidas. Os que tiverem interesse também
poderão contribuir para o desenvolvimento deste livro e ajudar a difundir os conhecimentos da fascinante linguagem
C++.
Programar em C++ 2

Para deixar uma mensagem aos colaboradores utilize a página de discussão.

Sobre o conteúdo

• /Objetivo/

• /Por que C++?/


Programar em C++ 3

• /Diferenças entre C e C++/

Iniciando o estudo

• /Introdução/
Programar em C++ 4

• /Alô, Mundo!/

• /Variáveis e constantes/
Programar em C++ 5

• /Ponteiros e matrizes/

• /Estruturas/
Programar em C++ 6

• /Operadores/

• /Decisão e controle de fluxo/


Programar em C++ 7

• /Laços/

• /Funções/
Programar em C++ 8

• /Referências de dados/

• /Entrada e saída de dados/


Programar em C++ 9

• /Entrada e saída de dados 2/

• /Manipulando strings/
Programar em C++ 10

Objetos (básico)

• /Classes/

• Atributos
Programar em C++ 11

• Funções membro (Métodos)

• Conceituação
Programar em C++ 12

• Declarando classes

• Instanciando objetos
Programar em C++ 13

• Definição de classes

• Especificadores de acesso
Programar em C++ 14

• Construtores e destrutores

• "Copy constructors"
Programar em C++ 15

Objetos (avançado)

• /Encapsulamento/

• /Herança/
Programar em C++ 16

• Conceito

• Sintaxe
Programar em C++ 17

• Controle de acesso à classe


base

• Heranças múltiplas
Programar em C++ 18

• Construtores e destrutores

• Passando parâmetros para


construtores da classe base
Programar em C++ 19

• Superposição de funções

• Acessando funções superpostas


da classe base
Programar em C++ 20

• /Polimorfismo/

• Funções virtuais
Programar em C++ 21

• Chamando múltiplas funções


virtuais

• Funcões virtuais e passagem


por valor
Programar em C++ 22

• Construtor de cópia virtual

• Classe base virtual


Programar em C++ 23

• /Friend/

• /Classes internas/
Programar em C++ 24

• /Sobrecarga de operadores/

• Manipulando classes
Programar em C++ 25

• Objetos como atributos

• Alocação dinâmica de objetos


Programar em C++ 26

• Acessando membros via


ponteiro

• Ponteiros como membros de


uma classe
Programar em C++ 27

• O ponteiro this

• Referências a objetos
Programar em C++ 28

• Funções membro
sobrecarregadas

• Funções membro com valores


default
Programar em C++ 29

• Sobrecarregando construtores

• Construtor de cópia
Programar em C++ 30

• Conversão entre objetos e tipos


simples

• Arrays de objetos
Programar em C++ 31

• Exemplo: Uma classe string

• Exemplo: Lista encadeada


Programar em C++ 32

Conceitos avançados

• /Alocação dinâmica de memória/

• /Exceções/
Programar em C++ 33

• /Namespace/

• /Templates/
Programar em C++ 34

Standard Template Library (STL)

• /Introdução a STL/

• /Containers/
Programar em C++ 35

• /Iterators/

• /Algorithms/
Programar em C++ 36

• /Function Objects/

Anexos
• História da Linguagem C++
• O processo de compilação
• /Lista de Palavras Reservadas do C++/
• /Lista de Operadores e Precedência/
• /Lista de Sequências de Escape/
• /Tabela ASCII/

Ligações externas
• Tutorial completo de c++ (em inglês) [1]
• Apostila online da UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL [2]
• Portal dos programadores C++ Builder [3]

Referências
[1] http:/ / www. cplusplus. com/ doc/ tutorial/
[2] http:/ / www. inf. ufrgs. br/ ~johann/ cpp2004/
[3] http:/ / www. dicasbcb. com. br/
Fontes e Editores da Página 37

Fontes e Editores da Página


Programar em C++  Fonte: http://pt.wikibooks.org/w/index.php?oldid=209021  Contribuidores: Albmont, Contribuidor, Edudobay, Jorge Morais, João Jerónimo, Marcos Antônio Nunes de
Moura, Master, Raylton P. Sousa, Scorpion, Voz da Verdade, Wbrito, Wikimi-dhiann, 4 edições anónimas

Fontes, Licenças e Editores da Imagem


Imagem:BjarneStroustrup.jpg  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:BjarneStroustrup.jpg  Licença: GNU Free Documentation License  Contribuidores: -
Imagem:5de8.svg  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:5de8.svg  Licença: Public Domain  Contribuidores: User:Marcos Antônio Nunes de Moura
Imagem:2de8.svg  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:2de8.svg  Licença: Public Domain  Contribuidores: User:Marcos Antônio Nunes de Moura
Imagem:7de8.svg  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:7de8.svg  Licença: Public Domain  Contribuidores: User:Marcos Antônio Nunes de Moura
Imagem:4de8.svg  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:4de8.svg  Licença: Public Domain  Contribuidores: User:Marcos Antônio Nunes de Moura
Imagem:0de8.svg  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:0de8.svg  Licença: Public Domain  Contribuidores: User:Marcos Antônio Nunes de Moura
Imagem:6de8.svg  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:6de8.svg  Licença: Public Domain  Contribuidores: User:Marcos Antônio Nunes de Moura

Licença
Creative Commons Attribution-Share Alike 3.0 Unported
http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/