دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: برنامه نویسی: زبان های برنامه نویسی ویرایش: نویسندگان: Claude Delannoy سری: ISBN (شابک) : 9782212122312, 9782212851717 ناشر: سال نشر: تعداد صفحات: 630 زبان: French فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 2 مگابایت
در صورت تبدیل فایل کتاب C++ pour les programmeurs C 6e edition به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب C برای برنامه نویسان C نسخه 6 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Table des matières......Page 7
Avant-propos......Page 25
1.1 Problématique de la programmation......Page 29
1.3.1 Objet......Page 30
1.3.4 Héritage......Page 31
1.4 P.O.O. et langages......Page 32
3 Les spécificités de C++......Page 33
4 C++ et la programmation orientée objet......Page 34
2 Les incompatibilités entre C++ et C......Page 37
2 Les prototypes en C++......Page 38
3.2 Différences entre C et C++......Page 41
4.1 Portée......Page 42
4.2 Utilisation dans une expression......Page 43
5 Compatibilité entre le type void *et les autres pointeurs......Page 44
1 Généralités......Page 45
2.1 Quelques exemples......Page 46
2.3 Les possibilités d’écriture sur cout......Page 48
3.1 Introduction......Page 49
3.2 Les différentes possibilités de lecture sur cin......Page 50
3.4 Lecture d’une suite de caractères......Page 51
3.5.1 Manque de synchronisme entre clavier et écran......Page 52
3.5.3 Boucle infinie sur un caractère invalide......Page 53
4 Les spécificités du C++......Page 55
2.1 Règles générales......Page 56
2.2 Cas des instructions structurées......Page 57
3.1 Transmission des arguments en C......Page 58
3.2 Exemple de transmission d’argument par référence......Page 59
3.3.1 Induction de risques indirects......Page 61
3.3.3 Cas d’un argument effectif constant......Page 62
3.4.1 Introduction......Page 63
3.4.3 Conversion......Page 64
3.5 La référence d\'une manière générale......Page 65
3.5.2 Initialisation de référence......Page 66
4.1 Exemples......Page 67
4.2 Les propriétés des arguments par défaut......Page 69
5.1 Mise en oeuvre de la surdéfinition de fonctions......Page 70
5.2 Exemples de choix d\'une fonction surdéfinie......Page 71
5.3.1 Cas des fonctions à un argument......Page 74
5.3.3 Le mécanisme de la surdéfinition de fonctions......Page 75
6.1 Exemples d\'utilisation de new......Page 77
6.3 Exemples d\'utilisation de l\'opérateur delete......Page 78
6.5 L’opérateur new (nothrow)......Page 79
6.6 Gestion des débordements de mémoire avec set_new_handler......Page 80
7.1 Rappels concernant les macros et les fonctions......Page 81
7.2 Utilisation de fonctions en ligne......Page 82
8 Les espaces de noms......Page 84
10 Les nouveaux opérateurs de cast......Page 85
5 Classes et objets......Page 89
1.1 Rappel : les structures en C......Page 90
1.2 Déclaration d\'une structure comportant des fonctions membres......Page 91
1.3 Définition des fonctions membres......Page 92
1.4 Utilisation d\'une structure comportant des fonctions membres......Page 93
1.5 Exemple récapitulatif......Page 94
2 Notion de classe......Page 95
3 Affectation d’objets......Page 98
4.1 Introduction......Page 100
4.2 Exemple de classe comportant un constructeur......Page 101
4.3 Construction et destruction des objets......Page 103
4.4 Rôles du constructeur et du destructeur......Page 104
4.5 Quelques règles......Page 107
5.1 Le qualificatif static pour un membre donnée......Page 108
5.2 Initialisation des membres données statiques......Page 109
5.3 Exemple......Page 110
6.1 La classe comme composant logiciel......Page 111
6.2 Protection contre les inclusions multiples......Page 113
6.4.1 La déclaration des membres publics n’a pas changé......Page 114
7.2 Ce qu\'on peut trouver dans la déclaration d\'une classe......Page 115
7.3 Déclaration d\'une classe......Page 116
Exercices......Page 117
1 Surdéfinition des fonctions membres......Page 119
1.1 Exemple......Page 120
1.2 Incidence du statut public ou privé d’une fonction membre......Page 121
3 Les fonctions membres en ligne......Page 123
2 Arguments par défaut......Page 122
4 Cas des objets transmis en argument d’une fonction membre......Page 125
5.1 Transmission de l\'adresse d\'un objet......Page 127
5.2 Transmission par référence......Page 129
6 Lorsqu’une fonction renvoie un objet......Page 130
7 Autoréférence : le mot clé this......Page 131
8 Les fonctions membres statiques......Page 132
9.1 Rappels sur l’utilisation de const en C......Page 134
9.3 Propriétés d’une fonction membre constante......Page 135
10 Les membres mutables......Page 137
Exercices......Page 138
7Construction, destruction et initialisation des objets......Page 139
1.1 Durée de vie......Page 140
1.3 Exemple......Page 141
2.1 Les structures dynamiques......Page 143
2.2.1 Points communs avec les structures dynamiques......Page 144
2.2.3 Exemple......Page 145
3.1 Présentation......Page 146
3.1.2 Il existe un constructeur approprié......Page 147
3.1.3 Lorsqu’on souhaite interdire la contruction par recopie......Page 148
3.2.1 Emploi du constructeur de recopie par défaut......Page 149
3.2.2 Définition d\'un constructeur de recopie......Page 151
3.3 Exemple 2 : objet en valeur de retour d\'une fonction......Page 153
4 Initialisation d\'un objet lors de sa déclaration......Page 155
5.2 Mise en oeuvre des constructeurs et des destructeurs......Page 157
6 Initialisation de membres dans l’en-tête d’un constructeur......Page 160
7.1 Notations......Page 161
7.2 Constructeurs et initialiseurs......Page 162
7.3 Cas des tableaux dynamiques d\'objets......Page 163
8 Les objets temporaires......Page 164
Exercices......Page 166
8 Les fonctions amies......Page 169
1 Exemple de fonction indépendante amied’une classe......Page 170
2 Les différentes situations d’amitié......Page 172
2.1 Fonction membre d\'une classe, amie d\'une autre classe......Page 173
2.2 Fonction amie de plusieurs classes......Page 174
3 Exemple......Page 175
3.1 Fonction amie indépendante......Page 176
3.2 Fonction amie, membre d\'une classe......Page 177
4 Exploitation de classes disposant de fonctions amies......Page 178
9 La surdéfinition d’opérateurs......Page 179
1 Le mécanisme de la surdéfinitiond’opérateurs......Page 180
1.1 Surdéfinition d\'opérateur avec une fonction amie......Page 181
1.2 Surdéfinition d\'opérateur avec une fonction membre......Page 182
1.3 Opérateurs et transmission par référence......Page 184
2.1 Se limiter aux opérateurs existants......Page 185
2.2 Se placer dans un contexte de classe......Page 186
2.3 Eviter les hypothèses sur le rôle d’un opérateur......Page 187
2.4 Cas des opérateurs ++ et --......Page 188
2.5 Les opérateurs = et & ont une signification prédéfinie......Page 189
2.6 Les conversions......Page 190
3.1 Rappels concernant le constructeur par recopie......Page 191
3.2 Cas de l’affectation......Page 192
3.3 Algorithme proposé......Page 193
3.6 Exemple de programme complet......Page 195
3.7 Lorsqu’on souhaite interdire l’affectation......Page 197
4 La forme canonique d\'une classe......Page 198
5 Exemple de surdéfinition de l\'opérateur [ ]......Page 199
6 Surdéfinition de l\'opérateur ()......Page 201
7 Surdéfinition des opérateurs new et delete......Page 202
7.2 Exemple......Page 203
7.3 D’une manière générale......Page 205
Exercices......Page 206
10 Les conversions de type définies par l’utilisateur......Page 209
1 Les différentes sortes de conversionsdéfinies par l’utilisateur......Page 210
2.2 Exemple d\'utilisation......Page 212
2.3 Appel implicite de l\'opérateur de cast lors d’un appel de fonction......Page 213
2.4 Appel implicite de l\'opérateur de cast dans l\'évaluationd\'une expression......Page 215
2.5 Conversions en chaîne......Page 216
2.6 En cas d\'ambiguïté......Page 218
3.1 Exemple......Page 219
3.3 Choix entre constructeur ou opérateur d\'affectation......Page 221
3.4 Emploi d\'un constructeur pour élargir la signification d\'un opérateur......Page 223
3.5 Interdire les conversions implicites par le constructeur : le rôle d’explicit......Page 225
4.1 Exemple simple d\'opérateur de cast......Page 226
4.2 Exemple de conversion par un constructeur......Page 227
4.3 Pour donner une signification à un opérateur défini dans uneautre classe......Page 228
5 Quelques conseils......Page 231
11 Les patrons de fonctions......Page 233
1.1 Création d\'un patron de fonctions......Page 234
1.2 Premières utilisations du patron de fonctions......Page 235
1.3.1 Application au type char......Page 236
1.3.2 Application à un type classe......Page 237
1.4 Contraintes d’utilisation d’un patron......Page 238
2.1 Utilisation des paramètres de type dans la définitiond\'un patron......Page 239
2.2 Identification des paramètres de type d\'une fonction patron......Page 240
2.3 Nouvelle syntaxe d\'initialisation des variables des types standard......Page 241
2.4 Limitations des patrons de fonctions......Page 242
3 Les paramètres expressions d’un patron de fonctions......Page 243
4.1 Exemples ne comportant que des paramètres de type......Page 244
4.2 Exemples comportant des paramètres expressions......Page 247
5.1 Généralités......Page 248
5.2 Les spécialisations partielles......Page 249
6 Algorithme d’instanciation d’unefonction patron......Page 250
12 Les patrons de classes......Page 253
1.1 Création d\'un patron de classes......Page 254
1.3 Contraintes d’utilisation d’un patron de classes......Page 256
1.4 Exemple récapitulatif......Page 257
2.2 Instanciation d\'une classe patron......Page 259
3.1 Exemple......Page 261
4 Spécialisation d’un patron de classes......Page 263
4.1 Exemple de spécialisation d\'une fonction membre......Page 264
4.2.3 On peut prévoir des spécialisations partielles de patrons de classes......Page 265
6 Patrons de fonctions membres......Page 266
8.1 Déclaration de classes ou fonctions \"ordinaires\" amies......Page 267
8.2 Déclaration d\'instances particulières de classes patrons ou de fonctions patrons......Page 268
9 Exemple de classe tableau à deux indices......Page 269
13 L’héritage simple......Page 273
1 La notion d’héritage......Page 274
2 Utilisation des membres de la classe de base dans une classe dérivée......Page 276
3.1 Redéfinition des fonctions membres d’une classe dérivée......Page 278
3.3 Redéfinition et surdéfinition......Page 280
4.1 Rappels......Page 282
4.3 Transmission d\'informations entre constructeurs......Page 283
4.4 Exemple......Page 284
5 Contrôle des accès......Page 286
5.2 Exemple......Page 287
5.3 Intérêt du statut protégé......Page 288
5.4.1 Rappels concernant la dérivation publique......Page 289
5.4.2 Dérivation privée......Page 290
5.5 Les possibilités de dérivation protégée......Page 291
6 Compatibilité entre classe de base et classe dérivée......Page 292
6.1 Conversion d\'un type dérivé en un type de base......Page 293
6.3 Limitations liées au typage statique des objets......Page 294
6.4 Les risques de violation des protections de la classe de base......Page 297
7 Le constructeur de recopie et l’héritage......Page 298
7.2 La classe dérivée définit un constructeur de recopie......Page 299
8.1 La classe dérivée ne surdéfinit pas l\'opérateur =......Page 301
8.2 La classe dérivée surdéfinit l\'opérateur =......Page 302
9 Héritage et forme canonique d\'une classe......Page 305
10.1 La situation d\'héritage......Page 306
10.1.2 Le type des arguments de f......Page 307
10.2.2 Héritage dans pointcol de la fonction coincide de point......Page 308
11 Exemple de classe dérivée......Page 309
12 Patrons de classes et héritage......Page 312
12.1Classe \"ordinaire\" dérivant d\'une classe patron......Page 313
12.3Dérivation de patrons avec introduction d\'un nouveau paramètre......Page 314
13.1Dérivations successives......Page 315
13.3 Exploitation d’une classe dérivée......Page 317
14 L\'héritage multiple......Page 319
1 Mise en oeuvre de l\'héritage multiple......Page 320
2 Pour régler les éventuels conflits : les classes virtuelles......Page 324
3 Appels des constructeurs et des destructeurs : cas des classes virtuelles......Page 326
4 Exemple d’utilisation de l’héritage multiple et de la dérivation virtuelle......Page 328
15 Les fonctions virtuelles et le polymorphisme......Page 333
2 Le mécanisme des fonctions virtuelles......Page 334
3 Autre situation où la ligature dynamique est indispensable......Page 336
4.1 Leurs limitations sont celles de l’héritage......Page 339
4.2 La redéfinition d\'une fonction virtuelle n\'est pas obligatoire......Page 340
4.4 Le type de retour d’une fonction virtuelle redéfinie......Page 341
4.6.1 Seule une fonction membre peut être virtuelle......Page 342
4.6.3 Un destructeur peut être virtuel......Page 343
4.6.4 Cas particulier de l’opérateur d’affectation......Page 344
5 Les fonctions virtuelles pures pour la création de classes abstraites......Page 345
6 Exemple d’utilisation de fonctions virtuelles : liste hétérogène......Page 347
7 Le mécanisme d’identification dynamique des objets......Page 352
8.1 Utilisation du champ name de type_info......Page 354
8.3 Exemple avec des références......Page 356
9 Les cast dynamiques......Page 357
16 Les flots......Page 361
1.1 L\'opérateur <<......Page 363
1.2 Les flots prédéfinis......Page 364
1.4.2 Autres cas......Page 365
1.5.1 Action sur la base de numération......Page 366
1.5.2 Action sur le gabarit de l\'information écrite......Page 367
1.5.4 Choix entre notation flottante ou exponentielle......Page 369
2 Présentation générale de la classe istream......Page 370
2.1.1 Cas des caractères......Page 371
2.1.3 Les types acceptés par >>......Page 372
2.3 Les fonctions getline et gcount......Page 373
2.5 Quelques autres fonctions......Page 375
3.2 Actions concernant les bits d\'erreur......Page 376
3.3 Surdéfinition des opérateurs () et !......Page 377
3.4 Exemples......Page 378
4.1 Méthode......Page 380
4.2 Exemple......Page 381
5 Gestion du formatage......Page 383
5.1 Le statut de formatage d\'un flot......Page 384
5.2 Description du mot d\'état du statut de formatage......Page 385
5.3.1 Les manipulateurs non paramétriques......Page 386
5.3.2 Les manipulateurs paramétriques......Page 387
5.3.3 Les fonctions membres......Page 388
6.1 Connexion d\'un flot de sortie à un fichier......Page 390
6.2 Connexion d\'un flot d\'entrée à un fichier......Page 392
6.3 Les possibilités d\'accès direct......Page 393
6.4 Les différents modes d\'ouverture d\'un fichier......Page 395
7 Les anciennes possibilités de formatage en mémoire......Page 396
7.1 La classe ostrstream......Page 397
7.2 La classe istrstream......Page 398
17 La gestion des exceptions......Page 401
1.1 Comment lancer une exception : l\'instruction throw......Page 402
1.2 Utilisation d\'un gestionnaire d\'exception......Page 403
1.3 Récapitulatif......Page 404
2 Second exemple......Page 406
3.1 Poursuite de l\'exécution du programme......Page 408
4 Choix du gestionnaire......Page 410
4.2 Règles de choix d’un gestionnaire d’exception......Page 411
4.3 Le cheminement des exceptions......Page 412
4.4 Redéclenchement d’une exception......Page 414
5 Spécification d\'interface : la fonction unexpected......Page 415
6.2 Les exceptions déclenchées par la bibliothèque standard......Page 418
6.4 Création d’exceptions dérivées de la classe exception......Page 419
6.4.1 Exemple 1......Page 420
6.4.2 Exemple 2......Page 421
1 Notions de conteneur, d\'itérateur et d\'algorithme......Page 423
1.2 Notion d\'itérateur......Page 424
1.3.1 Parcours direct......Page 425
1.4 Intervalle d\'itérateur......Page 426
1.5 Notion d\'algorithme......Page 427
2.1 Conteneurs et structures de données classiques......Page 428
3 Les conteneurs dont les éléments sont des objets......Page 429
3.1 Construction, copie et affectation......Page 430
4 Efficacité des opérations sur des conteneurs......Page 431
5.1 Fonction unaire......Page 432
5.3.1 Utilisation d\'objet fonction comme fonction de rappel......Page 433
5.3.2 Classes fonction prédéfinies......Page 434
6.1 Introduction......Page 435
6.2 Propriétés à respecter......Page 436
7 Les générateurs d\'opérateurs......Page 437
19 Les conteneurs séquentiels......Page 439
1.1.3 Construction avec un nombre donné d\'éléments initialisés à une valeur......Page 440
1.2 Modifications globales......Page 441
1.2.2 La fonction membre assign......Page 442
1.3.1 L\'opérateur ==......Page 443
1.4 Insertion ou suppression d\'éléments......Page 444
1.4.2 Suppression......Page 445
2 Le conteneur vector......Page 446
2.1.2 Accès par indice......Page 447
2.3.1 Introduction......Page 448
2.3.3 Outils de gestion de l\'emplacement mémoire d\'un vecteur......Page 449
2.4 Exemple......Page 450
2.5 Cas particulier des vecteurs de booléens......Page 451
3.1 Présentation générale......Page 452
3.2 Exemple......Page 453
4.1 Accès aux éléments existants......Page 454
4.2.2 Suppression des éléments répondant à une condition......Page 455
4.3.2 Suppression des éléments en double......Page 456
4.3.3 Fusion de deux listes......Page 457
4.4 Gestion de l\'emplacement mémoire......Page 458
4.5 Exemple......Page 459
5.1 L\'adaptateur stack......Page 460
5.2 L\'adaptateur queue......Page 461
5.3 L\'adaptateur priority_queue......Page 462
20 Les conteneurs associatifs......Page 465
1.1 Exemple introductif......Page 466
1.3 Construction d\'un conteneur de type map......Page 468
1.3.2 Choix de l\'ordre intrinsèque du conteneur......Page 469
1.3.3 Pour connaître la relation d\'ordre utilisée par un conteneur......Page 470
1.4.2 Accès par itérateur......Page 471
1.5 Insertions et suppressions......Page 472
1.5.1 Insertions......Page 473
1.6 Gestion mémoire......Page 474
1.8 Exemple......Page 475
2.1 Présentation générale......Page 476
2.2 Exemple......Page 477
3.2 Exemple......Page 479
4 Le conteneur multiset......Page 480
5 Conteneurs associatifs et algorithmes......Page 481
1.1 Algorithmes et itérateurs......Page 483
1.2.2 Itérateur en sortie......Page 484
1.3 Algorithmes et séquences......Page 485
1.4 Itérateur d\'insertion......Page 486
1.5.1 Itérateur de flot de sortie......Page 488
1.5.2 Itérateur de flot d\'entrée......Page 489
2.1 Copie d\'une séquence dans une autre......Page 490
2.2 Génération de valeurs par une fonction......Page 491
3.1 Algorithmes fondés sur une égalité ou un prédicat unaire......Page 494
3.2 Algorithmes de recherche de maximum ou de minimum......Page 495
4 Algorithmes de transformation d\'une séquence......Page 496
4.2.1 Rotation......Page 497
4.2.2 Génération de permutations......Page 498
4.2.3 Permutations aléatoires......Page 499
5 Algorithmes dits \"de suppression\"......Page 500
6 Algorithmes de tris......Page 502
7.2 Algorithmes de fusion......Page 504
8 Algorithmes à caractère numérique......Page 506
9 Algorithmes à caractère ensembliste......Page 507
10 Algorithmes de manipulation de tas......Page 508
22 La classe string......Page 513
2 Construction......Page 514
3 Opérations globales......Page 515
5 Recherche dans une chaîne......Page 516
5.2 Recherche d\'un caractère présent ou absent d\'une suite......Page 517
6.1 Insertions......Page 518
6.2 Suppressions......Page 519
6.3 Remplacements......Page 520
7 Les possibilités de formatage en mémoire......Page 521
7.1 La classe ostringstream......Page 522
7.2.2 Utilisation pour fiabiliser les lectures au clavier......Page 523
1 La classe complex......Page 527
2.1 Constructeurs des classes valarray......Page 529
2.4 Calcul vectoriel......Page 530
2.5 Sélection de valeurs par masque......Page 532
2.6 Sections de vecteurs......Page 533
2.7 Vecteurs d’indices......Page 534
3 La classe bitset......Page 535
1 Création d’espaces de noms......Page 539
1.1 Exemple de création d’un nouvel espace de noms......Page 540
1.2 Exemple avec deux espaces de noms......Page 541
1.4 Instructions figurant dans un espace de noms......Page 542
1.5 Création incrémentale d’espaces de noms......Page 543
2.1.1 Présentation générale......Page 544
2.1.2 Masquage et ambiguïtés......Page 546
2.2 La directive using pour les espaces de noms......Page 547
3 Espaces de noms et surdéfinition......Page 549
5 Transitivité de la directive using......Page 551
7 Les espaces anonymes......Page 552
8 Espaces de noms et déclaration d’amitié......Page 553
Annexes......Page 555
Annexe A Mise en correspondance d\'arguments......Page 557
Annexe B Utilisation de code écrit en C......Page 563
Annexe C Compléments sur les exceptions......Page 567
Annexe D Les différentes sortes de fonctions en C++......Page 573
Annexe E Comptage de références......Page 575
Annexe F Les pointeurs sur des membres......Page 579
Annexe G Les algorithmes standard......Page 585
Correction des exercices......Page 605
Index......Page 621