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
e
C
C
+
+
+
+
L
a
a
n
n
g
g
u
u
a
a
g
g
e
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
e
C
C
+
+
+
+
L
a
a
n
n
g
g
u
u
a
a
g
g
e
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
e
C
C
+
+
+
+
L
a
a
n
n
g
g
u
u
a
a
g
g
e
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
T
T
h
h
e
e
C
C
+
+
+
+
L
a
a
n
n
g
g
u
u
a
a
g
g
e
e
T
T
u
u
t
t
o
o
r
r
i
i
a
a
l
l
5
© cplusplus.com 2008. All rights reserved
Introduction
Instructions for use
To whom is this tutorial directed?
This tutorial is for those people who want to learn programming in C++ and do not necessarily have any previous
knowledge of other programming languages. Of course any knowledge of other programming languages or any
general computer skill can be useful to better understand this tutorial, although it is not essential.
It is also suitable for those who need a little update on the new features the language has acquired from the latest
standards.
If you are familiar with the C language, you can take the first 3 parts of this tutorial as a review of concepts, since
they mainly explain the C part of C++. There are slight differences in the C++ syntax for some C features, so I
recommend you its reading anyway.
The 4th part describes object-oriented programming.
The 5th part mostly describes the new features introduced by ANSI-C++ standard.
Structure of this tutorial
The tutorial is divided in 6 parts and each part is divided on its turn into different sections covering a topic each
one. You can access any section directly from the section index available on the left side bar, or begin the tutorial
from any point and follow the links at the bottom of each section.
Many sections include examples that describe the use of the newly acquired knowledge in the chapter. It is
recommended to read these examples and to be able to understand each of the code lines that constitute it before
passing to the next chapter.
A good way to gain experience with a programming language is by modifying and adding new functionalities on
your own to the example programs that you fully understand. Don't be scared to modify the examples provided
with this tutorial, that's the way to learn!
Compatibility Notes
The ANSI-C++ standard acceptation as an international standard is relatively recent. It was first published in
November 1997, and revised in 2003. Nevertheless, the C++ language exists from a long time before (1980s).
Therefore there are many compilers which do not support all the new capabilities included in ANSI-C++, especially
those released prior to the publication of the standard.
This tutorial is thought to be followed with modern compilers that support -at least on some degree- ANSI-C++
specifications. I encourage you to get one if yours is not adapted. There are many options, both commercial and
free.
Compilers
The examples included in this tutorial are all console programs. That means they use text to communicate with
the user and to show their results.
1 / 144 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !