📄 tutcpp_exos.html
字号:
<!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.5 [fr] (WinNT; I) [Netscape]">
<meta name="Description" content="Tutorial C++ : Exercices">
<title>Exercices</title>
</head>
<body text="#000000" bgcolor="#E2E2F1" link="#0000FF" vlink="#800080" alink="#FF0080">
<script language="JavaScript">
<!-- begin script
function VersionNavigateur(Netscape, Explorer) {
if ((navigator.appVersion.substring(0,3) >= Netscape && navigator.appName == 'Netscape') ||
(navigator.appVersion.substring(0,3) >= Explorer && navigator.appName.substring(0,9) == 'Microsoft'))
return true;
else return false;
}
// end script -->
</script>
<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>Exercices...</font></font></font></b></td>
</tr>
</table></center>
<br>
<br>
<center><table BORDER=0 COLS=1 WIDTH="80%" >
<tr>
<td><font face="Verdana"><font color="#1A3251">Vous avez appris très
rapidement les "bases" du C++ dans les précédents chapitres.
Il est évident que vous n'avez pas encore pu assimiler toutes ces
notions. Pour se faire, rien n'est plus efficace qu'une mise en application.</font></font>
<p><font face="Verdana"><font color="#1A3251">L'exercice qui vous est proposé,
a pour objet la réalisation d'un ensemble de deux classes, qui s'occupent
de la gestion de chaînes de caractères formatées (mise
en italique, gras et couleur).</font></font>
<p><font face="Verdana"><font color="#1A3251">La première classe
gère la première partie, à savoir la chaîne
de caractères. En voici sa description rapide :</font></font>
<ul>
<li>
<b><font face="Verdana"><font color="#1A3251">gestion d'une chaîne
de caractères et de sa taille,</font></font></b></li>
<li>
<font face="Verdana"><font color="#1A3251">constructeur par défaut,</font></font></li>
<li>
<font color="#1A3251"><font face="Verdana">constructeur initialisant à
partir d'une chaîne de caractères (</font><b><tt>char*</tt></b><font face="Verdana">),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">constructeur par recopie,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">destructeur,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">surcharge de l'opérateur
= (affectation de chaîne),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">surcharge de l'opérateur
== (égalité de chaîne),</font></font></li>
<li>
<font color="#1A3251"><font face="Verdana">surcharge de l'opérateur
+= (trois différents, un qui gère un </font><b><tt>String</tt></b><font face="Verdana">,
un autre un </font><b><tt>char*</tt></b><font face="Verdana"> et un dernier
un </font><b><tt>char</tt></b><font face="Verdana">),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">surcharge de l'opérateur
+ (concaténation),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">surcharge de l'opérateur
[] (accès à un caractère de la chaîne stockée),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">vérification de l'initialisation
de la classe (on vérifie que la chaîne n'est pas vide),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">mise à zéro des
paramètres (chaîne vide),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">renvoie de la taille de la chaîne,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">et affichage de la chaîne.</font></font></li>
</ul>
<font face="Verdana"><font color="#1A3251">Vous êtes bien entendu
libre de rajouter d'autres méthodes.</font></font>
<p><font face="Verdana"><font color="#1A3251">La deuxième classe
hérite de la première, et rajoute une couche gérant
le formatage du texte. Description sommaire :</font></font>
<ul>
<li>
<font face="Verdana"><font color="#1A3251"><b>gestion du formatage : Italic,
Bold et Couleur </b>(un short pour faire simple)<b>,</b></font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">constructeur par défaut,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">constructeur connaissant une
chaîne de caractères et <i>éventuellement</i> les options
de formatage,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">constructeur connaissant une
chaîne de caractères de type <b>String</b> et <i>éventuellement</i>
les options de formatage,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">constructeur connaissant les
options de formatage,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">constructeur par recopie,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">destructeur (optionnel),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">surcharge de l'opérateur
= (affectation) pour le cas d'une copie de <b>chaîne formatée</b>,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">surcharge de l'opérateur
= (affectation) pour le cas d'une copie de <b>chaîne non formatée</b>
(classe de base),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">méthodes permet la gestion
de l'italique (mise en "italic" et renvoie d'information),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">méthodes permet la gestion
de Bold (mise en "Bold" et renvoie d'information),</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">Colorisation et renvoie de couleur,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">Affichage de la chaîne
et des informations de formatage, en utilisation la notation HTML, à
savoir :</font></font></li>
<ol>
<li>
<font color="#1A3251"><b><tt><font size=+1><i></font></tt></b><font face="Verdana">
pour la mise en italique et </font><b><tt><font size=+1></i></font></tt></b><font face="Verdana">
à la fin,</font></font></li>
<li>
<font color="#1A3251"><b><tt><font size=+1><b></font></tt></b><font face="Verdana">
pour la mise en gras et </font><b><tt><font size=+1></b></font></tt></b><font face="Verdana">
à la fin,</font></font></li>
<li>
<font color="#1A3251"><b><tt><font size=+1><font color="#couleur"></font></tt></b><font face="Verdana">
pour la couleur et </font><b><tt><font size=+1></font></font></tt></b><font face="Verdana">
à la fin.</font></font></li>
</ol>
</ul>
<font face="Verdana"><font color="#1A3251">La réalisation de ces
classes est assez simple si vous procédez par étape. Utilisez
également beaucoup les exemples fournis auparavant. N'hésitez
à regarder comment on déclare un constructeur par recopie,
etc..</font></font>
<p><font face="Verdana"><font color="#1A3251">C'est également le
moment pour voir de plus près comment fonctionne le debugger, car
vous ne serez pas sans faire quelques erreurs... de frappe ! </font></font><font face="Verdana"><font color="#1A3251"></font></font>
<p><font face="Verdana"><font color="#1A3251">Bon courage !</font></font>
<br><font face="Verdana"><font color="#1A3251"></font></font>
<br><font face="Verdana"><font color="#1A3251"></font></font>
<br><font face="Verdana"><font color="#1A3251"></font></font> <font face="Verdana"><font color="#1A3251"></font></font>
<p><b><font face="Verdana"><font color="#1A3251">Télécharger
la solution :</font></font></b>
<ul>
<li>
<font face="Verdana"><font color="#1A3251">Projet <a href="../Exos/MyProject.zip">Visual
C++ 5.0</a>,</font></font></li>
<li>
<font face="Verdana"><font color="#1A3251">Juste les <a href="TutCpp_SolExoClass.html">classes</a></font></font></li>
</ul>
</td>
</tr>
</table></center>
<br>
<p><img SRC="../Images/TutorialCPP_Sepa.gif" ALT="S閜arateur" NOSAVE height=20 width=100%>
<center><table BORDER=0 CELLSPACING=0 CELLPADDING=0 COLS=3 WIDTH="95%" >
<tr>
<td><a href="TutCpp_FoncVir.html"><img SRC="../Images/Previous.gif" ALT="Pr閏閐ent" NOSAVE BORDER=0 height=54 width=54 align=ABSCENTER></a><b><font face="Verdana"><font color="#407AC3"><font size=-1>
Fonctions virtuelles</font></font></font></b></td>
<td>
<center><a href="index.html" onmouseover="if (VersionNavigateur(3.0,4.0)) Sommaire.src='../Images/Sommaire_On.gif' " onmouseout="Sommaire.src='../Images/Sommaire.gif'"><img SRC="../Images/Sommaire.gif" NAME="Sommaire" ALT="Sommaire" NOSAVE BORDER=0 onload="tempImg=new Image(0,0); tempImg.src='Sommaire_On.gif'" height=50 width=100></a></center>
</td>
<td>
<div align=right><b><font face="Verdana"><font color="#407AC3"><font size=-1>C'est
la Fin !</font></font></font></b></div>
</td>
</tr>
<tr>
<td><font face="Verdana"><font color="#407AC3"><font size=-2>Précédent</font></font></font></td>
<td>
<center><b><i><font face="Verdana"><font color="#407AC3"><font size=-2>Tutorial
C++ écrit par Gwenaël Brunet</font></font></font></i></b>
<br><font face="Verdana"><font color="#407AC3"><font size=-2>Vous pouvez
lui envoyer un <b><a href="mailto:brunet@traezh.enst-bretagne.fr">mail</a></b></font></font></font></center>
</td>
<td>
<div align=right><font face="Verdana"><font color="#407AC3"><font size=-2>Pas
de Suivant...</font></font></font></div>
</td>
</tr>
</table></center>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -