cplusplus.com
C++ Language Tutorial
Written by: Juan Soulié
Last revision: June, 2007
Available online at:
http://www.cplusplus.com/doc/tutorial/
The online version is constantly revi
sed and may contain corrections and changes
T
T
h
h
e
C
C
+
+
L
L
a
a
n
n
g
g
u
u
a
a
g
g
e
T
T
u
u
t
t
o
o
r
r
i
i
a
a
l
l
2
© cplusplus.com 2008. All rights reserved
This document and its content is copyright of cplusplus.com © cplusplus.com, 2008. All rights reserved.
Any redistribution or reproduction of part or all of the content in any form is prohibited other than to print a
personal copy of the entire document or download it to a local hard disk, without modifying its content in any way
(including, but not limited to, this copyright notice).
You may not, except with express written permission from cplusplus.com, distribute the content of this document.
Nor may you transmit it or store it in any other website or other form of electronic retrieval system.
T
T
h
h
e
C
C
+
+
L
L
a
a
n
n
g
g
u
u
a
a
g
g
e
T
T
u
u
t
t
o
o
r
r
i
i
a
a
l
l
3
© cplusplus.com 2008. All rights reserved
Table of contents
Table of contents ...............................................................................................................................3
Introduction ......................................................................................................................................5
Instructions for use ................................................................................................................................... 5
Basics of C++ ......................................................................................................................................7
Structure of a program ............................................................................................................................. 7
Variables. Data Types. ............................................................................................................................. 11
Constants ................................................................................................................................................ 17
Operators ................................................................................................................................................ 21
Basic Input/Output .................................................................................................................................. 29
Control Structures ............................................................................................................................ 34
Control Structures ................................................................................................................................... 34
Functions (I) ............................................................................................................................................ 41
Functions (II) ........................................................................................................................................... 47
Compound data types ...................................................................................................................... 54
Arrays ...................................................................................................................................................... 54
Character Sequences .............................................................................................................................. 60
Pointers ................................................................................................................................................... 63
Dynamic Memory .................................................................................................................................... 74
Data structures........................................................................................................................................ 77
Other Data Types .................................................................................................................................... 82
Object Oriented Programming .......................................................................................................... 86
Classes (I)................................................................................................................................................. 86
Classes (II) ............................................................................................................................................... 95
Friendship and inheritance ................................................................................................................... 100
Polymorphism ....................................................................................................................................... 107
Advanced concepts ........................................................................................................................ 113
Templates.............................................................................................................................................. 113
Namespaces .......................................................................................................................................... 120
Exceptions ............................................................................................................................................. 123
Type Casting .......................................................................................................................................... 127
T
T
h
h
e
C
C
+
+
L
L
a
a
n
n
g
g
u
u
a
a
g
g
e
T
T
u
u
t
t
o
o
r
r
i
i
a
a
l
l
4
© cplusplus.com 2008. All rights reserved
Preprocessor directives ......................................................................................................................... 133
C++ Standard Library ...................................................................................................................... 138
Input/Output with files ......................................................................................................................... 138