⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tutcpp_basescpp.html

📁 ce fichier est un tutorial de c++.
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="Author" content="Gwena雔 Brunet">
   <meta name="GENERATOR" content="Mozilla/4.7 [fr] (WinNT; I) [Netscape]">
   <meta name="Description" content="Tutorial C++ : Bases du C++">
   <title>Bases du C++</title>
</head>
<body text="#000000" bgcolor="#E2E2F1" link="#0000FF" vlink="#800080" alink="#FF0080">
&nbsp;
<center><table BORDER=0 CELLSPACING=0 CELLPADDING=0 COLS=2 WIDTH="95%" BGCOLOR="#F7F2F6" >
<tr>
<td WIDTH="100"><img SRC="../Images/Tutorial_LogoMini.jpg" NOSAVE height=120 width=120 align=ABSCENTER></td>

<td><b><font face="Verdana"><font color="#407AC3"><font size=+3>Les bases
du C++</font></font></font></b>
<blockquote><a href="#Les sp閏ificit閟 de C++"><img SRC="../Images/Puce2.gif" NOSAVE BORDER=0 height=12 width=12></a><font face="Verdana"><font color="#1F3D61"><font size=-1>
Les sp&eacute;cificit&eacute;s de C++</font></font></font>
<br><a href="#Les entr閑s/sorties en C++"><img SRC="../Images/Puce2.gif" NOSAVE BORDER=0 height=12 width=12></a><font face="Verdana"><font color="#1F3D61"><font size=-1>
Les entr&eacute;e/sortie C++</font></font></font></blockquote>
</td>
</tr>
</table></center>

<br>&nbsp;
<br>&nbsp;
<center><table BORDER=0 COLS=1 WIDTH="80%" >
<tr>
<td><a NAME="Les sp閏ificit閟 de C++"></a><b><font face="Verdana"><font color="#1A3251"><font size=+1>Les
sp&eacute;cificit&eacute;s de C++</font></font></font></b>
<blockquote><font face="Verdana"><font color="#1A3251">Le langage C++ a
adopt&eacute; un certain nombre de nouvelles sp&eacute;cificit&eacute;s
qu'il faut conna&icirc;tre avant de se lancer dans la P.O.O. proprement
dite.</font></font>
<p><b><font face="Verdana"><font color="#1A3251">Les commentaires</font></font></b>
<blockquote><font face="Verdana"><font color="#1A3251">Les commentaires
d'un source peuvent maintenant &ecirc;tre indiqu&eacute;s de deux fa&ccedil;ons
diff&eacute;rentes :</font></font>
<br>&nbsp;
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 COLS=1 WIDTH="60%" BGCOLOR="#DBDBEE" >
<tr>
<td><tt><font color="#006600">/* Ceci est commentaire "typique" venant
du C */</font></tt>
<br><tt><font color="#3333FF">int</font><font color="#1A3251"> nEntier;
</font><font color="#006600">//
Et ceci est la seconde possibilit&eacute;</font></tt></td>
</tr>
</table>

<p><font face="Verdana"><font color="#1A3251">Ces nouveaux commentaites
sont utilisables uniquement dans le cas o&ugrave; tout le reste de la ligne
est un commentaire.</font></font></blockquote>
<b><font face="Verdana"><font color="#1A3251">D&eacute;clarations</font></font></b>
<blockquote><font face="Verdana"><font color="#1A3251">En C, vous avez
&eacute;t&eacute; habitu&eacute; &agrave; d&eacute;clarer les variables
en d&eacute;but de bloc, c'est-&agrave;-dire en d&eacute;but de fonction
ou de proc&eacute;dure. En C++, il est possible de d&eacute;clarer une
variable &agrave; tout moment dans le code.</font></font>
<br>&nbsp;
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH="85%" BGCOLOR="#DBDBEE" >
<tr>
<td VALIGN=TOP><tt><font color="#006600">/* Code C */</font></tt>
<br><tt><font color="#3333FF">int</font><font color="#1A3251"> <b>FaitQqch</b>(
</font><font color="#3333FF">int</font><font color="#1A3251">
a, </font><font color="#3333FF">int</font><font color="#1A3251"> b)</font></tt>
<br><tt><font color="#1A3251">{</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">int</font><font color="#1A3251">
nRetour;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">int</font><font color="#1A3251">
i;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">int</font><font color="#1A3251">
fVar;</font></tt>
<p><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; fVar = a + b;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">for</font><font color="#1A3251">(
i=0; i&lt;20; i++ )</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; {</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
fVar = fVar + i;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; }</font></tt>
<p><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; nRetour = fVar -
a*b;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">return</font><font color="#1A3251">
nRetour;</font></tt>
<br><tt><font color="#1A3251">}</font></tt></td>

<td VALIGN=TOP><tt><font color="#006600">// Code C++</font></tt>
<br><tt><font color="#3333FF">int</font><font color="#1A3251"> <b>FaitQqch</b>(
</font><font color="#3333FF">int</font><font color="#1A3251">
a, </font><font color="#3333FF">int</font><font color="#1A3251"> b)</font></tt>
<br><tt><font color="#1A3251">{</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">int</font><font color="#1A3251">
fVar = a + b;</font></tt>
<p><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">for</font><font color="#1A3251">(
</font><font color="#3333FF">int</font><font color="#1A3251">
i=0; i&lt;20; i++ )</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; {</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
fVar = fVar + i;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; }</font></tt>
<p><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">int</font><font color="#1A3251">
nRetour = fVar - a*b;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">return</font><font color="#1A3251">
nRetour;</font></tt>
<br><tt><font color="#1A3251">}</font></tt></td>
</tr>
</table>

<p><font face="Verdana"><font color="#1A3251">Cet exemple est bien entendu
d&eacute;nu&eacute; de tout int&eacute;r&ecirc;t, mais il montre la libert&eacute;
offerte par C++ en ce qui concerne les d&eacute;clarations et les initialisations
des variables.</font></font></blockquote>
<b><font face="Verdana"><font color="#1A3251">R&eacute;f&eacute;rence</font></font></b>
<blockquote><font face="Verdana"><font color="#1A3251">C++ introduit une
nouvelle notion fondamentale : les <b>r&eacute;f&eacute;rences</b>. C'est
une notion qui peut sembler difficile &agrave; assimiler au d&eacute;part,
notamment pour des personnes qui ne sont pas encore habitu&eacute;es &agrave;
utiliser des pointeurs en C.</font></font>
<p><font face="Verdana"><font color="#1A3251">La notion de r&eacute;f&eacute;rence
est directement li&eacute;e au passage de param&egrave;tres &agrave; des
fonctions en C. Nous savons tous que lorsque nous voulons transmettre &agrave;
une fonction la valeur d'une variable ou au contraire la donn&eacute;e
r&eacute;elle (en fait l'adresse), nous n'utilisons pas les m&ecirc;mes
m&eacute;thodes.</font></font>
<br><font face="Verdana"><font color="#1A3251">Par exemple, soit les fonctions
suivantes :</font></font>
<br>&nbsp;
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH="85%" BGCOLOR="#DBDBEE" >
<tr>
<td VALIGN=TOP><tt><font color="#3333FF">int </font><font color="#1A3251"><b>FaitQqch</b>(
</font><font color="#3333FF">int</font><font color="#1A3251">
a, </font><font color="#3333FF">int</font><font color="#1A3251"> b)</font></tt>
<br><tt><font color="#1A3251">{</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">int</font><font color="#1A3251">
nRet;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; if( a==0 )</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
a=10;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; nRet = a + b;</font></tt>
<p><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">return</font><font color="#1A3251">
nRet;</font></tt>
<br><tt><font color="#1A3251">}</font></tt></td>

<td VALIGN=TOP><tt><font color="#3333FF">int </font><font color="#1A3251"><b>FaitQqch2</b>(
</font><font color="#3333FF">int</font><font color="#1A3251">
* a, </font><font color="#3333FF">int</font><font color="#1A3251"> * b)</font></tt>
<br><tt><font color="#1A3251">{</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">int</font><font color="#1A3251">
nRet;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; if( *a==0 )</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*a=10;</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; nRet = *a + *b;</font></tt>
<p><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">return</font><font color="#1A3251">
nRet;</font></tt>
<br><tt><font color="#1A3251">}</font></tt></td>
</tr>
</table>

<p><font face="Verdana"><font color="#1A3251">Nous voyons tout de suite
que dans le cas d'un appel comme celui-ci :</font></font>
<br>&nbsp;
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 COLS=1 WIDTH="60%" BGCOLOR="#DBDBEE" >
<tr>
<td><tt><font color="#1A3251">...</font></tt>
<br><tt><font color="#3333FF">int</font><font color="#1A3251"> a, b, c,
d;</font></tt>
<br><tt><font color="#1A3251">a = 0;</font></tt>
<br><tt><font color="#1A3251">b = 5;</font></tt>
<br><tt><font color="#1A3251">c = FaitQqch(a,b);</font></tt>
<br><tt><font color="#1A3251">d = FaitQqch2(&amp;a,&amp;b);</font></tt>
<br><tt><font color="#1A3251">...</font></tt></td>
</tr>
</table>

<p><font color="#1A3251"><b><tt><font size=+1>c</font></tt></b><font face="Verdana">
et </font><b><tt><font size=+1>d </font></tt></b><font face="Verdana">auront
la m&ecirc;me valeur, par contre, ce qui est int&eacute;ressant, c'est
qu'&agrave; la sortie de </font><tt><font size=+1>FaitQqch</font></tt><font face="Verdana">,
la valeur restera inchang&eacute;e, alors que pour </font><tt><font size=+1>FaitQqch2</font></tt><font face="Verdana">,
</font><tt><font size=+1>a</font></tt><font face="Verdana">
vaudra d&eacute;sormais
</font><tt><font size=+1>10</font></tt><font face="Verdana">
! Ceci est d&ucirc; au passage par adresse, et non par valeur.</font></font>
<br><font face="Verdana"><font color="#1A3251">Tout cela, vous devez le
savoir. En revanche, vous allez apprendre une nouvelle technique qui est
une sorte de m&eacute;lange des deux pr&eacute;c&eacute;dentes : les <b>r&eacute;f&eacute;rences</b>.</font></font>
<br><font color="#1A3251"><font face="Verdana">Voici ce que devient notre
fonction, </font><tt><font size=+1>FaitQqch3</font></tt><font face="Verdana">
:</font></font>
<br>&nbsp;
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH="60%" BGCOLOR="#DBDBEE" >
<tr>
<td VALIGN=TOP><tt><font color="#3333FF">int </font><font color="#1A3251"><b>FaitQqch3</b>(</font><font color="#3333FF">int</font><font color="#1A3251">
&amp;a, </font><font color="#3333FF">int</font><font color="#1A3251"> &amp;b)</font></tt>
<br><tt><font color="#1A3251">{</font></tt>
<br><tt><font color="#1A3251">&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#3333FF">int</font><font color="#1A3251">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -