Titre : |
Multi-paradigm programming using C++ |
Type de document : |
texte imprimé |
Auteurs : |
Dirk Vermeir |
Editeur : |
London : Springer |
Année de publication : |
2001 |
Importance : |
1 vol (287 p.) |
Présentation : |
ill |
Format : |
24 cm |
ISBN/ISSN/EAN : |
978-1-85233-483-3 |
Catégories : |
Informatique
|
Mots-clés : |
langage C++ |
Index. décimale : |
005.13 Langages de programmation (codage des programmes, éditeurs de texte conçus spécialement pour le codage des programmes, générateurs d'application ; langages déclaratifs, non procéduraux) |
Résumé : |
Destiné principalement aux étudiants, cet ouvrage de référence autonome sur le langage C ++ présente une superbe valeur pédagogique. En partant de zéro, Vermeir explique les notions d'adresse, de valeur et de type en C ++ avant de passer rapidement aux aspects plus importants du langage, tels que les classes, les modèles, la programmation générique et l'héritage. Il inclut des développements récents en C ++, tels que STL et la bibliothèque iostream. Un chapitre est également consacré aux principes de conception des programmes. En utilisant de nombreux exemples, le lecteur est stimulé et inspiré pour voir comment il peut utiliser ce qu'il a appris dans d'autres applications plus sophistiquées. Tous les exemples du texte, y compris des exemples de programmes plus importants, sont disponibles sur le site Web de l'auteur. |
Note de contenu : |
Sommaire
1 Basic Concepts of C++.
1.1 Objects, Values, Types, Variables.- 1.1.1 Objects and Addresses.- 1.1.2 Values and Types.- 1.1.3 Referring to Objects and Values: Variables, Constants, Ex-pressions.- 1.2 Defining and Manipulating Objects.- 1.3 References.- 1.4 Functions.- 1.4.1 Defining a function.- 1.4.2 Calling a function.- 1.4.3 More on Parameter Passing.- 1.5 Program Structure.- 1.5.1 Translation Units, Definitions and Declarations.- 1.5.2 The Compilation Process.- 1.5.3 Program Organization.- 1.5.4 Linking and Executing a Program.- 1.6 Syntactic and Lexical Considerations.- 1.6.1 Identifiers and Keywords.- 1.6.2 Comments.- 1.7 Scopes and Namespaces.- 1.7.1 Scopes.- 1.7.2 Namespaces.
- 2 Built-inTypes.
- 2.1 ArithmeticTypes.- 2.2 Conversionsfor Arithmetic Types.- 2.3 ArithmeticType Operations.- 2.4 String Literals.
- 3 Functions.
- 3.1 Function Declarations.- 3.1.1 Function Types.Signatures.- 3.1.2 Default Arguments.- 3.1.3 UnspecifiedNumber of Arguments.- 3.1.4 Inline Functions.- 3.2 Overloading.- 3.3 Function Definitions.- 3.3.1 Statements.- 3.3.2 Control Flow Statements.- The compound statement and the sequence operator.- The if statement and the? operator.- The while statements.- The for statement.- The switch statement.- The return, break and continue statements.- 3.3.3 Local and Static Variables.- Local object lifetime.- Persistent local objects.
- 4 User-Defined Types.
- 4.1 Abstract Data Types.- 4.2 Classes.- 4.2.1 Class Members. Access Specification.- 4.2.2 Class Objects.- 4.2.3 Data Member Declarationsand Object Layout.- 4.2.4 Class Scope.- 4.2.5 Function Member Declaration.- 4.2.6 OverloadingMember Functions.- 4.2.7 Initializing a Class Object.- The default constructor.- The copy constructor.- 4.2.8 Function Member Definition.- 4.2.9 Inline Function Members.- 4.2.10 Member Functions with Default Parameters.- 4.2.11 User-Defined Conversions.- 4.2.12 Operator Overloading.- Overloading the assignment Operator.- Overloading the increment and decrement Operators.- Forbidding Operators.- 4.2.13 Finalizing an Object.- 4.2.14 Member Objects.- 4.2.15 Friends.- 4.2.16 Nested Classes.- 4.2.17 Static Members.- 4.2.18 Implementation Aspects.- 4.2.19 Example: the Rational Class.- 4.3 Enumerations.- 4.4 Typedef.
- 5 Built-in Type Constructors.
- 5.1 Constant Objects.- 5.2 Pointers.- 5.2.1 Pointers, Addresses, Dereferencing.- 5.2.2 Handies.- 5.2.3 Member Selection from Pointers.- 5.2.4 Constant Pointers.- 5.2.5 Pointers vs. References.- 5.2.6 The this Pointer.- 5.3 Arrays.- 5.3.1 Initializing an Array.- 5.3.2 Arrays vs. Pointers, Pointer Arithmetic.- 5.3.3 Array Parameters.- 5.3.4 Multidimensional Arrays.- 5.4 Command Line Processing.- 5.5 Pointers to Functions.- 5.6 Pointers to Members.- 5.7 Memory Management.- 5.7.1 Static, Global, Automatic and Member Objects.- 5.7.2 Free Objects.- 5.7.3 Encapsulating Pointers.- 5.8 More Operator Overloading.- 5.8.1 Overloading new, delete.- 5.8.2 PlacementNew.- 5.8.3 Smart Pointers.
- 6 User-DefinedTypeConstructors.
- 6.1 Function Templates.- 6.1.1 Template Argument Deduction.- 6.1.2 Overloading Function Templates.- 6.1.3 Explicit Specializations of Function Templates.- 6.1.4 A Generic Sort function.- 6.2 Class Templates.- 6.2.1 Friends of Class Templates.- 6.2.2 Nested Class Templates.- 6.2.3 Function Objects.- 6.2.4 Class Template Specialization.- 6.2.5 Reference Counting Pointers.- 6.2.6 Auto Pointers.
- 7 Generic Program ming Using the STL.
- 7.1 Generic Programming.- 7.2 Iterators.- 7.2.1 Types Associated with an Iterator.- 7.2.2 Iterator Traits.- 7.2.3 Dispatching on the Iterator Category.- 7.3 Stream Iterators.- 7.3.1 Input Stream Iterator.- 7.3.2 Output Stream Iterator.- 7.4 STL Containers.- 7.4.1 Pair.- 7.4.2 List.- 7.4.3 Vector.- 7.4.4 Map.- 7.4.5 Set.- 7.4.6 Other Containers.- 7.4.7 Container Adaptors.- 7.5 STL Algorithms.- 7.5.1 Non-mutating Algorithms.- Finding elements in a ränge.- Finding subranges.- Counting elements in a ränge.- Processing a ränge.- Comparing ranges.- Minimum and maximum.- 7.5.2 Basic Mutating Algorithms.- Copying ranges.- Swapping elements.- Transforming a ränge.- Replacing elements in a ränge.- Filling a ränge.- Removing elements.- Permuting algorithms.- Partitioning ranges.- Random shuffling and sampling.- Generalized numeric algorithms.- 7.5.3 Sorting and Searching.- Sorting ranges.- Operations on sorted ranges.- Set Operations.- Heap Operations.- 7.6 Iterator Adaptors.- 7.6.1 Insert Iterators.- 7.6.2 Reverse Iterators.
- 8 Subtypes and Inheritance.
- 8.1 Derived Classes.- 8.1.1 Construction and Destruction of Derived Class Objects.- 8.1.2 Inheritance and Scope.- 8.1.3 Inheritance and Conversions.- 8.1.4 Inheritance and Arrays.- 8.2 Virtual Member Functions.- 8.2.1 Implementation of Virtual Member Functions.- 8.2.2 Pure Virtual Function Members and Abstract Classes.- 8.2.3 Virtual Destructors.- 8.3 Derivation and Access Control.- 8.3.1 Protected Members.- 8.3.2 Protected and Private Derivation.- 8.4 Multiple and Virtual Inheritance.- 8.4.1 Multiple Inheritance.- 8.4.2 Implementing Multiple Inheritance.- 8.4.3 Virtual Inheritance.- 8.5 Object-Oriented Programming.- 8.5.1 Class Hierarchies.- 8.5.2 Polymorphism.- 8.6 Run-Time Type Identification.
- 9 Exceptions.
- 9.1 Throwing and Catching Exceptions.- 9.2 Run-Time Behaviour.- 9.3 Exceptions, Constructors and Destructors.- 9.3.1 Exceptions and Resource Management.- 9.3.2 Constructors Throwing Exceptions.- 9.3.3 Destructors Throwing Exceptions.- 9.4 Exception Specifications.- 9.5 Standard Exceptions.
- 10 Iostreams.
- 10.1 Requirements.- 10.2 Design.- 10.3 Streambuf.- 10.4 Stream Base Classes.- 10.4.1 los_base.- 10.4.2 Basic_ios(CharT,Traits).- 10.5 Stream Classes.- 10.5.1 Basic_istream(CharT,Traits).- 10.5.2 Basic_ostream(CharT,Traits).- 10.5.3 Basic_iostream(CharT,Traits).- 10.6 Manipulators.- 10.7 File Streams.- 10.7.1 Basic_ifstream(CharT,Traits).- 10.7.2 Basic_ofstream(CharT,Traits).- 10.7.3 Basic_fstream(CharT,Traits).- 10.8 String Streams.
- 11 Introduction to Program Design.
- 11.1 Motivation: Properties of Good Programs.- 11.2 Abstractions.- 11.3 Criteria For Good Abstractions.- 11.4 The Design Process.- 11.4.1 Finding Abstractions.- 11.4.2 Designing Classes.- 11.4.3 Refactoring.- 11.4.4 Documentation.- 11.4.5 Patterns.
- A C++ Operators.
- B The String Class. |
Côte titre : |
Fs/2673-2674 |
Multi-paradigm programming using C++ [texte imprimé] / Dirk Vermeir . - London : Springer, 2001 . - 1 vol (287 p.) : ill ; 24 cm. ISBN : 978-1-85233-483-3
Catégories : |
Informatique
|
Mots-clés : |
langage C++ |
Index. décimale : |
005.13 Langages de programmation (codage des programmes, éditeurs de texte conçus spécialement pour le codage des programmes, générateurs d'application ; langages déclaratifs, non procéduraux) |
Résumé : |
Destiné principalement aux étudiants, cet ouvrage de référence autonome sur le langage C ++ présente une superbe valeur pédagogique. En partant de zéro, Vermeir explique les notions d'adresse, de valeur et de type en C ++ avant de passer rapidement aux aspects plus importants du langage, tels que les classes, les modèles, la programmation générique et l'héritage. Il inclut des développements récents en C ++, tels que STL et la bibliothèque iostream. Un chapitre est également consacré aux principes de conception des programmes. En utilisant de nombreux exemples, le lecteur est stimulé et inspiré pour voir comment il peut utiliser ce qu'il a appris dans d'autres applications plus sophistiquées. Tous les exemples du texte, y compris des exemples de programmes plus importants, sont disponibles sur le site Web de l'auteur. |
Note de contenu : |
Sommaire
1 Basic Concepts of C++.
1.1 Objects, Values, Types, Variables.- 1.1.1 Objects and Addresses.- 1.1.2 Values and Types.- 1.1.3 Referring to Objects and Values: Variables, Constants, Ex-pressions.- 1.2 Defining and Manipulating Objects.- 1.3 References.- 1.4 Functions.- 1.4.1 Defining a function.- 1.4.2 Calling a function.- 1.4.3 More on Parameter Passing.- 1.5 Program Structure.- 1.5.1 Translation Units, Definitions and Declarations.- 1.5.2 The Compilation Process.- 1.5.3 Program Organization.- 1.5.4 Linking and Executing a Program.- 1.6 Syntactic and Lexical Considerations.- 1.6.1 Identifiers and Keywords.- 1.6.2 Comments.- 1.7 Scopes and Namespaces.- 1.7.1 Scopes.- 1.7.2 Namespaces.
- 2 Built-inTypes.
- 2.1 ArithmeticTypes.- 2.2 Conversionsfor Arithmetic Types.- 2.3 ArithmeticType Operations.- 2.4 String Literals.
- 3 Functions.
- 3.1 Function Declarations.- 3.1.1 Function Types.Signatures.- 3.1.2 Default Arguments.- 3.1.3 UnspecifiedNumber of Arguments.- 3.1.4 Inline Functions.- 3.2 Overloading.- 3.3 Function Definitions.- 3.3.1 Statements.- 3.3.2 Control Flow Statements.- The compound statement and the sequence operator.- The if statement and the? operator.- The while statements.- The for statement.- The switch statement.- The return, break and continue statements.- 3.3.3 Local and Static Variables.- Local object lifetime.- Persistent local objects.
- 4 User-Defined Types.
- 4.1 Abstract Data Types.- 4.2 Classes.- 4.2.1 Class Members. Access Specification.- 4.2.2 Class Objects.- 4.2.3 Data Member Declarationsand Object Layout.- 4.2.4 Class Scope.- 4.2.5 Function Member Declaration.- 4.2.6 OverloadingMember Functions.- 4.2.7 Initializing a Class Object.- The default constructor.- The copy constructor.- 4.2.8 Function Member Definition.- 4.2.9 Inline Function Members.- 4.2.10 Member Functions with Default Parameters.- 4.2.11 User-Defined Conversions.- 4.2.12 Operator Overloading.- Overloading the assignment Operator.- Overloading the increment and decrement Operators.- Forbidding Operators.- 4.2.13 Finalizing an Object.- 4.2.14 Member Objects.- 4.2.15 Friends.- 4.2.16 Nested Classes.- 4.2.17 Static Members.- 4.2.18 Implementation Aspects.- 4.2.19 Example: the Rational Class.- 4.3 Enumerations.- 4.4 Typedef.
- 5 Built-in Type Constructors.
- 5.1 Constant Objects.- 5.2 Pointers.- 5.2.1 Pointers, Addresses, Dereferencing.- 5.2.2 Handies.- 5.2.3 Member Selection from Pointers.- 5.2.4 Constant Pointers.- 5.2.5 Pointers vs. References.- 5.2.6 The this Pointer.- 5.3 Arrays.- 5.3.1 Initializing an Array.- 5.3.2 Arrays vs. Pointers, Pointer Arithmetic.- 5.3.3 Array Parameters.- 5.3.4 Multidimensional Arrays.- 5.4 Command Line Processing.- 5.5 Pointers to Functions.- 5.6 Pointers to Members.- 5.7 Memory Management.- 5.7.1 Static, Global, Automatic and Member Objects.- 5.7.2 Free Objects.- 5.7.3 Encapsulating Pointers.- 5.8 More Operator Overloading.- 5.8.1 Overloading new, delete.- 5.8.2 PlacementNew.- 5.8.3 Smart Pointers.
- 6 User-DefinedTypeConstructors.
- 6.1 Function Templates.- 6.1.1 Template Argument Deduction.- 6.1.2 Overloading Function Templates.- 6.1.3 Explicit Specializations of Function Templates.- 6.1.4 A Generic Sort function.- 6.2 Class Templates.- 6.2.1 Friends of Class Templates.- 6.2.2 Nested Class Templates.- 6.2.3 Function Objects.- 6.2.4 Class Template Specialization.- 6.2.5 Reference Counting Pointers.- 6.2.6 Auto Pointers.
- 7 Generic Program ming Using the STL.
- 7.1 Generic Programming.- 7.2 Iterators.- 7.2.1 Types Associated with an Iterator.- 7.2.2 Iterator Traits.- 7.2.3 Dispatching on the Iterator Category.- 7.3 Stream Iterators.- 7.3.1 Input Stream Iterator.- 7.3.2 Output Stream Iterator.- 7.4 STL Containers.- 7.4.1 Pair.- 7.4.2 List.- 7.4.3 Vector.- 7.4.4 Map.- 7.4.5 Set.- 7.4.6 Other Containers.- 7.4.7 Container Adaptors.- 7.5 STL Algorithms.- 7.5.1 Non-mutating Algorithms.- Finding elements in a ränge.- Finding subranges.- Counting elements in a ränge.- Processing a ränge.- Comparing ranges.- Minimum and maximum.- 7.5.2 Basic Mutating Algorithms.- Copying ranges.- Swapping elements.- Transforming a ränge.- Replacing elements in a ränge.- Filling a ränge.- Removing elements.- Permuting algorithms.- Partitioning ranges.- Random shuffling and sampling.- Generalized numeric algorithms.- 7.5.3 Sorting and Searching.- Sorting ranges.- Operations on sorted ranges.- Set Operations.- Heap Operations.- 7.6 Iterator Adaptors.- 7.6.1 Insert Iterators.- 7.6.2 Reverse Iterators.
- 8 Subtypes and Inheritance.
- 8.1 Derived Classes.- 8.1.1 Construction and Destruction of Derived Class Objects.- 8.1.2 Inheritance and Scope.- 8.1.3 Inheritance and Conversions.- 8.1.4 Inheritance and Arrays.- 8.2 Virtual Member Functions.- 8.2.1 Implementation of Virtual Member Functions.- 8.2.2 Pure Virtual Function Members and Abstract Classes.- 8.2.3 Virtual Destructors.- 8.3 Derivation and Access Control.- 8.3.1 Protected Members.- 8.3.2 Protected and Private Derivation.- 8.4 Multiple and Virtual Inheritance.- 8.4.1 Multiple Inheritance.- 8.4.2 Implementing Multiple Inheritance.- 8.4.3 Virtual Inheritance.- 8.5 Object-Oriented Programming.- 8.5.1 Class Hierarchies.- 8.5.2 Polymorphism.- 8.6 Run-Time Type Identification.
- 9 Exceptions.
- 9.1 Throwing and Catching Exceptions.- 9.2 Run-Time Behaviour.- 9.3 Exceptions, Constructors and Destructors.- 9.3.1 Exceptions and Resource Management.- 9.3.2 Constructors Throwing Exceptions.- 9.3.3 Destructors Throwing Exceptions.- 9.4 Exception Specifications.- 9.5 Standard Exceptions.
- 10 Iostreams.
- 10.1 Requirements.- 10.2 Design.- 10.3 Streambuf.- 10.4 Stream Base Classes.- 10.4.1 los_base.- 10.4.2 Basic_ios(CharT,Traits).- 10.5 Stream Classes.- 10.5.1 Basic_istream(CharT,Traits).- 10.5.2 Basic_ostream(CharT,Traits).- 10.5.3 Basic_iostream(CharT,Traits).- 10.6 Manipulators.- 10.7 File Streams.- 10.7.1 Basic_ifstream(CharT,Traits).- 10.7.2 Basic_ofstream(CharT,Traits).- 10.7.3 Basic_fstream(CharT,Traits).- 10.8 String Streams.
- 11 Introduction to Program Design.
- 11.1 Motivation: Properties of Good Programs.- 11.2 Abstractions.- 11.3 Criteria For Good Abstractions.- 11.4 The Design Process.- 11.4.1 Finding Abstractions.- 11.4.2 Designing Classes.- 11.4.3 Refactoring.- 11.4.4 Documentation.- 11.4.5 Patterns.
- A C++ Operators.
- B The String Class. |
Côte titre : |
Fs/2673-2674 |
|  |