ebook img

Programmez avec le langage C++ : Toute la puissance du langage C++ expliquée aux débutants PDF

706 Pages·2012·24.879 MB·French
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Programmez avec le langage C++ : Toute la puissance du langage C++ expliquée aux débutants

Saufmentioncontraire,lecontenudecetouvrageestpubliØsouslalicence: CreativeCommonsBY-NC-SA2.0 LacopiedecetouvrageestautorisØesousrØservedurespectdesconditionsdelalicence Textecompletdelalicencedisponiblesur:http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ SimpleIT2011-ISBN:978-2-9535278-5-8 Avant-propos D e tous les langages de programmation qui existent, le C++ est certainement celui qui nourrit le plus de fantasmes. Est-ce parce que c’est un des langages les plus utilisØs au monde? Ou parce que c’est un des langages les plus puissants et les plus rapides? Toujours est-il que c’est le langage de prØdilection de beaucoup de dØveloppeurs : il estdevenuquasi-incontournabledanslacrØationdejeuxvidØo.Onl’enseigned’ailleurs dans la plupart des Øcoles d’informatique. Alors vous y voil(cid:224) vous aussi? Vous voulez tout savoir sur le C++ mais vous n’avez jamaisprogrammØ?Celapeutsemblerdi(cid:30)cileaupremierabordØtantdonnØlenombre d’ouvrages,certesintØressantsmaiscomplexes,quiexistentsurlesujet.Ilfautdireque le C++ est un langage trŁs riche qui demande de la prØcision et de l’organisation. Peut-on dØbuter en programmation avec le C++? Oui, bien sßr que oui! Nous l’avons d’ailleurs dØj(cid:224) prouvØ ces derniŁres annØes gr(cid:226)ce (cid:224) la version de ce cours disponible en lignesurleSiteduZØro.Elleapermis(cid:224)detrŁsnombreuxdØbutantsenprogrammation de se former avec succŁs sur ce langage. L’ouvrage que vous allez lire est le premier de la collection Livre du ZØro rØdigØ par deuxauteurs.NousavonscombinØnosexpertisespØdagogiquesettechniquespourvous proposer un cours qui soit (cid:224) la fois : (cid:21) Accessible : c’est un cours pour dØbutants, il Øtait donc indispensable qu’il puisse Œtre lu sans di(cid:30)cultØ par tout le monde! (cid:21) Concret:nousnesommespasl(cid:224)pourvousassommerdedØ(cid:28)nitionsabstraites.Nous essaieronstoujoursd’allerversduconcretenprenantpourexemplesdesprogrammes que vous connaissez dØj(cid:224). Le cours est jalonnØ de plusieurs travaux pratiques; l’un d’eux vous permettra d’ailleurs de crØer votre propre navigateur web! (cid:21) Attrayant : gr(cid:226)ce aux travaux pratiques qui se veulent amusants bien sßr, mais aussi gr(cid:226)ce (cid:224) la prØsentation de la bibliothŁque Qt qui vous permettra de crØer vos propres fenŒtres avec une Øtonnante facilitØ! (cid:21) Complet : non content de s’adresser aux dØbutants, ce cours va vous prØsenter des notions avancØes du C++ telles que les exceptions, les templates, les itØrateurs, foncteurs, algorithmes de la bibliothŁque standard... et bien d’autres choses! (cid:201)crire ce cours Øtait un passionnant dØ(cid:28) que nous avons pris plaisir (cid:224) relever. Nous espØrons que vous ressentirez ce mŒme plaisir lors de votre dØcouverte du C++! i CHAPITRE 0. AVANT-PROPOS Qu’allez-vous apprendre en lisant ce livre? LeplandecelivreamßripendantplusieursannØes.Ilseveut(cid:224)lafoisorientØdØbutants, progressif et complet. Voici les di(cid:27)Ørentes parties qui vous attendent. 1. DØcouverte de la programmation en C++ : cette premiŁre partie dØmarre tout en douceur en vous prØsentant le langage C++ et ses domaines d’applica- tion. Nous apprendrons ensuite (cid:224) installer et (cid:224) utiliser les outils nØcessaires pour programmer, que ce soit sous Windows, Mac OS X ou Linux. Vous serez alors prŒts (cid:224) dØcouvrir les fondamentaux de la programmation en C++ et (cid:224) crØer vos premiers programmes. 2. La Programmation OrientØe Objet : nous nous intØresserons (cid:224) la program- mation orientØe objet.Ils’agitd’unemaniŁred’organisersesprogrammesquifait la force du C++. Nous y verrons ce que sont les objets, les classes, l’hØritage, le polymorphisme, etc. Ces chapitres seront plus di(cid:30)ciles que ceux de la pre- miŁre partie, mais ils sont essentiels (cid:224) la ma(cid:238)trise du langage. La di(cid:30)cultØ sera nØanmoins progressive a(cid:28)n de ne perdre personne en cours de route. 3. CrØez vos propres fenŒtres avec Qt:gr(cid:226)ceauxbasesquevousaurezacquises prØcØdemment,nouspourronspasser(cid:224)desnotionsconcrŁtesetamusantes.Gr(cid:226)ce (cid:224) la bibliothŁque Qt, nous apprendrons (cid:224) crØer des programmes utilisant des fenŒtres, des boutons, des menus, des zones de texte, etc. Au cours de cette partie, nous verrons comment crØer notre propre navigateur web! 4. Utilisez la bibliothŁque standard : nous allons apprendre (cid:224) apprivoiser la fameuse Standard Library du C++. Il s’agit d’un ensemble de briques de base utilisables dans de nombreux programmes. Vous pourrez alors facilement et ra- pidement Øcrire des programmes trŁs e(cid:30)caces1. 5. Notions avancØes : en(cid:28)n, cet ouvrage se terminera avec plusieurs notions plus avancØes. Nous y parlerons de gestion des erreurs et de templates, un mØcanisme quasiment unique au C++ qui permet de crØer des morceaux de programme rØutilisables. Comment lire ce livre? Suivez l’ordre des chapitres Lisez ce livre comme on lit un roman. Il a ØtØ con(cid:231)u de cette fa(cid:231)on. Contrairement (cid:224) beaucoup de livres techniques qu’il est courant de parcourir en dia- gonale en sautant parfois certains chapitres, il est ici trŁs fortement recommandØ de suivre l’ordre du cours, (cid:224) moins que vous ne soyez dØj(cid:224) un peu expØrimentØs. 1. Notezqu’ilestrarequ’unlivrepourdØbutantsprØsentecesnotions! ii CE LIVRE EST ISSU DU SITE DU Z(cid:201)RO Pratiquez en mŒme temps Pratiquez rØguliŁrement. N’attendez pas d’avoir (cid:28)ni la lecture de ce livre pour allu- mer votre ordinateur et faire vos propres essais. Lorsque vous dØcouvrez une nouvelle commande, essayez-la et testez de nouveaux paramŁtres pour voir comment elle se comporte. Utilisez les codes web! A(cid:28)n de tirer parti du Site du ZØro dont ce livre est issu, celui-ci vous propose ce que l’on appelle des (cid:19) codes web (cid:20). Ce sont des codes (cid:224) six chi(cid:27)res qu’il faut saisir sur une page du Site du ZØro pour Œtre automatiquement redirigØ vers un site web sans avoir (cid:224) en recopier l’adresse. Pour utiliser les codes web, rendez-vous sur la page suivante2 : http://www.siteduzero.com/codeweb.html Unformulairevousinvite(cid:224)rentrervotrecodeweb.Faitesunpremieressaiaveclecode ci-dessous : (cid:3) (cid:0) (cid:66) (cid:2)Code web : 123456(cid:1) Ces codes web ont plusieurs intØrŒts : (cid:21) ilsvousredirigentverslessiteswebprØsentØstoutaulongducours,vouspermettant ainsi d’obtenir les logiciels dans leur toute derniŁre version; (cid:21) ils vous permettent de tØlØcharger les codes sources inclus dans ce livre, ce qui vous Øvitera d’avoir (cid:224) recopier certains programmes un peu longs. Ce systŁme de redirection nous permet de tenir (cid:224) jour le livre que vous tenez entre vos mains sans que vous ayez besoin d’acheter systØmatiquement chaque nouvelle Ødition. Si un site web change d’adresse, nous modi(cid:28)erons la redirection mais le code web (cid:224) utiliser restera le mŒme. Si un site web dispara(cid:238)t, nous vous redirigerons vers une page du Site du ZØro expliquant ce qui s’est passØ et vous proposant une alternative. Si une capture d’Øcran n’est plus (cid:224) jour, nous vous indiquerons ce qui a changØ et comment procØder. En clair, c’est un moyen de nous assurer de la pØrennitØ de cet ouvrage sans que vous ayez (cid:224) faire quoi que ce soit! Ce livre est issu du Site du ZØro CetouvragereprendlecoursdeC++duSiteduZØrodansuneØditionrevueetcorrigØe, augmentØe de nouveaux chapitres plus avancØs3 et de notes de bas de page. Il reprend les ØlØments qui ont fait le succŁs des cours du site, (cid:224) savoir leur approche 2. VouspouvezaussiutiliserleformulairederechercheduSiteduZØro,section(cid:19)Codeweb(cid:20). 3. VousydØcouvrireznotammentcommentutiliserdesitØrateurssurles(cid:29)ux,lescha(cid:238)nesdecarac- tŁres,lestableaux...etvousverrezqueleC++permetdefaireducalculscienti(cid:28)que! iii CHAPITRE 0. AVANT-PROPOS progressive et pØdagogique, leur ton dØcontractØ, ainsi que les nombreux schØmas per- mettant de mieux comprendre le fonctionnement de la programmation en C++. BienquececourssoitrØdigØ(cid:224)quatremains,vousverrezquenousnousexprimons(cid:224)la premiŁrepersonnedusingulier.CelarenforcelaproximitØentrelelecteuretl’auteur4. Imaginez tout simplement que vous Œtes seuls avec votre professeur dans une mŒme piŁce. Remerciements Nous tenons (cid:224) remercier toutes les personnes qui nous ont aidØs et soutenus dans la rØalisation de ce livre. Mathieu Nebra Je souhaite remercier : (cid:21) Mesparents,quimefontcon(cid:28)anceetcontinuentdesuivreattentivementmesprojets; (cid:21) (cid:201)lodie, qui est toujours l(cid:224) pour me donner la dose de courage dont j’ai besoin; (cid:21) PierreDubuc,quis’estmisenquatrepourquecelivresoitpubliØdanslesmeilleures conditions possibles; (cid:21) Notre infographiste, Fan Jiyong, pour sa rØalisation de la couverture du livre et des illustrations des chapitres; (cid:21) Matthieu Schaller, pour ses conseils avisØs qui ont permis (cid:224) ce cours (cid:22) dont il est devenu co-auteur (cid:22) de gagner en rigueur et en prØcision; (cid:21) L’Øquipe de Simple IT qui fait un travail formidable pour amØliorer le Site du ZØro; (cid:21) Et tous nos visiteurs qui nous font con(cid:28)ance : merci, merci, merci! Matthieu Schaller Je souhaite remercier : (cid:21) Mes parents et ma famille pour leur soutien indØfectible quel que soit le projet dans lequel je m’embarque; (cid:21) Mathieu Nebra pour sa con(cid:28)ance, son enthousiasme, ses le(cid:231)ons de pØdagogie et son temps passØ (cid:224) corriger mon orthographe; (cid:21) L’ØquipeduSiteduZØroetSimpleITpourleurtravailetleuraidelorsdelarelecture des chapitres; (cid:21) LucHermitte(lmghs)poursesprØcieuxconseilsetsonimmenseexpØrienceduC++; (cid:21) Jean-CØdric Chappelier, mon professeur d’informatique, pour son enseignement et la rigueur qu’il a su apporter (cid:224) mon bagage technique. 4. IlfautnoterquenousnoussommesrØpartilarØdactiondeschapitres.Ainsi,nousnousexprimons en(cid:19)je(cid:20)(cid:224)tourder(cid:244)le. iv Sommaire Avant-propos i Qu’allez-vous apprendre en lisant ce livre?. . . . . . . . . . . . . . . . . . . . ii Comment lire ce livre? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii Ce livre est issu du Site du ZØro . . . . . . . . . . . . . . . . . . . . . . . . . iii Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv I DØcouverte de la programmation en C++ 1 1 Qu’est-ce que le C++? 3 Les programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Les langages de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Le C++ face aux autres langages . . . . . . . . . . . . . . . . . . . . . . . . . 7 La petite histoire du C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Les logiciels nØcessaires pour programmer 13 Les outils nØcessaires au programmeur . . . . . . . . . . . . . . . . . . . . . . 14 Code::Blocks (Windows, Mac OS, Linux) . . . . . . . . . . . . . . . . . . . . 16 Visual C++ (Windows seulement) . . . . . . . . . . . . . . . . . . . . . . . . 21 Xcode (Mac OS seulement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3 Votre premier programme 35 Le monde merveilleux de la console . . . . . . . . . . . . . . . . . . . . . . . . 36 CrØation et lancement d’un premier projet . . . . . . . . . . . . . . . . . . . . 38 v

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.