Multi-Paradigm Programming using C++
Autor Dirk Vermeiren Limba Engleză Paperback – 9 iul 2001
Preț: 632.73 lei
Preț vechi: 790.91 lei
-20% Nou
Puncte Express: 949
Preț estimativ în valută:
121.09€ • 125.78$ • 100.58£
121.09€ • 125.78$ • 100.58£
Carte tipărită la comandă
Livrare economică 01-15 februarie 25
Preluare comenzi: 021 569.72.76
Specificații
ISBN-13: 9781852334833
ISBN-10: 1852334835
Pagini: 304
Ilustrații: XV, 287 p. 28 illus.
Dimensiuni: 155 x 235 x 23 mm
Greutate: 0.43 kg
Ediția:2001
Editura: SPRINGER LONDON
Colecția Springer
Locul publicării:London, United Kingdom
ISBN-10: 1852334835
Pagini: 304
Ilustrații: XV, 287 p. 28 illus.
Dimensiuni: 155 x 235 x 23 mm
Greutate: 0.43 kg
Ediția:2001
Editura: SPRINGER LONDON
Colecția Springer
Locul publicării:London, United Kingdom
Public țintă
Professional/practitionerDescriere
An Introduction to Multi-Paradigm Programming using C++ is a self-contained reference book for those studying and using C++. Starting from scratch, Dirk Vermeir explains the idea of address, value and type in C++ before quickly moving on to cover the more important aspects of the language such as classes, templates, generic programming and inheritance. He includes recent developments in C++, such as STL and the iostream library, and there is also a chapter devoted to program design principles. By using plenty of examples to illustrate the text, the reader is stimulated and inspired to see how they can use what they have learnt in other more sophisticated applications. All the examples from the text, including some larger example programs are available on the author's website - http://tinf2.vub.ac.be/cpp/index.html
Cuprins
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.
Caracteristici
A SELF CONTAINED BOOK - CONTAINING EVERYTHING THE STUDENT NEEDS TO KNOW ABOUT C++ *UNIX/LINUX ORIENTATED, AND CONTAINS INFORMATION ON USING THE GNU COMPILER AND 'MAKE' *CONTAINS PLENTY OF USEFUL AND VARIED EXAMPLES *SHOWS THE UNIFYING STRUCTURE BEHIND THE C++ LANGUAGE
AS WELL AS IMPLEMENTATION ASPECTS.
AS WELL AS IMPLEMENTATION ASPECTS.