Cover image for C++ for Scientists, Engineers and Mathematicians
C++ for Scientists, Engineers and Mathematicians
Title:
C++ for Scientists, Engineers and Mathematicians
ISBN:
9781447133681
Personal Author:
Edition:
1st ed. 1994.
Publication Information New:
London : Springer London : Imprint: Springer, 1994.
Physical Description:
XX, 502 p. online resource.
Contents:
1 Introduction -- 1.1 Getting Started -- 1.2 Solving a Quadratic Equation -- 1.3 An Object-oriented Example -- 1.4 Why Object-oriented? -- 1.5 Summary -- 1.6 Exercises -- 2 The Lexical Basis of C++ -- 2.1 Characters and Tokens -- 2.2 Comments and White Space -- 2.3 Identifiers -- 2.4 Keywords -- 2.5 Constants -- 2.6 Operators -- 2.7 The Preprocessor -- 2.8 Programming Style -- 2.9 Summary -- 2.10 Exercises -- 3 Fundamental Types and Basic Operators -- 3.1 Integral Data Types -- 3.2 Floating Point Data Types -- 3.3 Changing Types -- 3.4 Some Basic Operations -- 3.5 const -- 3.6 register and volatile -- 3.7 typedef -- 3.8 Summary -- 3.9 Exercises -- 4 Control Structure -- 4.1 Relational Operators -- 4.2 Logical Operators -- 4.3 Equal and Not Equal Operators -- 4.4 Blocks and Scope -- 4.5 Branch Statements -- 4.6 Iteration Statements -- 4.7 break and continue Statements -- 4.8 goto Statement -- 4.9 Comma Operator -- 4.10 Null Statement -- 4.11 Conditional Expression Operator -- 4.12 Order of Evaluation of Operands -- 4.13 The Preprocessor -- 4.14 Enumerations -- 4.15 Summary -- 4.16 Exercises -- 5 Functions -- 5.1 Introducing Functions -- 5.2 Recursion -- 5.3 Inline Functions -- 5.4 More on Scope Rules -- 5.5 Storage Classes auto and static -- 5.6 Overloading Function Names -- 5.7 Function main () -- 5.8 Standard Library -- 5.9 Using Functions -- 5.10 Summary -- 5.11 Exercises -- 6 Pointers and Arrays -- 6.1 Memory, Addressing and Pointers -- 6.2 One-dimensional Arrays -- 6.3 Type void* -- 6.4 Pointer Conversions -- 6.5 Multi-dimensional Arrays -- 6.6 Initializing Arrays -- 6.7 Size of Arrays -- 6.8 Arrays of Pointers and Multi-dimensional Arrays -- 6.9 Using Pointers and Arrays -- 6.10 Summary -- 6.11 Exercises -- 7 Further Pointer Techniques -- 7.1 Strings -- 7.2 Pointers as Function Arguments -- 7.3 Passing Arrays as Function Arguments -- 7.4 Arguments to main () -- 7.5 Pointers to Functions -- 7.6 Dynamic Memory Management -- 7.7 Pass by Reference and Reference Variables -- 7.8 Using Pointers, Arrays and Strings -- 7.9 Summary -- 7.10 Exercises -- 8 Classes -- 8.1 Declaring Classes -- 8.2 Class Access Specifiers -- 8.3 Accessing Members -- 8.4 Assigning Objects -- 8.5 Functions and Classes -- 8.6 Data Hiding -- 8.7 Returning an Object -- 8.8 Reference Arguments -- 8.9 Pointers to Members -- 8.10 Pointer-to-member Operators -- 8.11 Scope and Data Protection -- 8.12 Static Members -- 8.13 Constructor Functions -- 8.14 Constant Class Objects and Member Functions -- 8.15 Friend Functions -- 8.16 Program Structure and Style -- 8.17 Using Classes -- 8.18 Summary -- 8.19 Exercises -- 9 Operator Overloading -- 9.1 Introducing Overloaded Operators -- 9.2 User-defined Conversions -- 9.3 Operator Function Calls -- 9.4 Some Special Binary Operators -- 9.5 Defining Overloaded Operators -- 9.6 Using Overloaded Operators -- 9.7 Summary -- 9.8 Exercises -- 10 Constructors and Destructors -- 10.1 More on Constructor Functions -- 10.2 Destructor Functions -- 10.3 Creating and Destroying Objects -- 10.4 Using Constructors and Destructors -- 10.5 Summary -- 10.6 Exercises -- 11 Single Inheritance -- 11.1 Derived Classes -- 11.2 virtual Functions -- 11.3 Abstract Classes and Pure virtual Functions -- 11.4 Class Hierarchies -- 11.5 Constructors and Destructors -- 11.6 Member Access and Inheritance -- 11.7 Access Declarations -- 11.8 Using Single Inheritance -- 11.9 Summary -- 11.10 Exercises -- 12 Input and Output -- 12.1 Introduction -- 12.2 Generic Input and Output Classes -- 12.3 File Input and Output -- 12.4 Formatting -- 12.5 Stream Condition -- 12.6 In Memory Input and Output -- 12.7 Using the I/O Library -- 12.8 Summary -- 12.9 Exercises -- 13 Bitwise Operations -- 13.1 Bitwise Operators -- 13.2 Bit-fields -- 13.3 Unions -- 13.4 Using Bitwise Operators -- 13.5 Summary -- 13.6 Exercises -- 14 Multiple Inheritance -- 14.1 Derived Classes -- 14.2 Virtual Base Classes -- 14.3 Constructors and Destructors -- 14.4 Member Access Ambiguities -- 14.5 Using Multiple Inheritance -- 14.6 Summary -- 14.7 Exercises -- 15 C++ Applications -- 15.1 Finite Difference Techniques -- 15.2 A Simulation -- 15.3 Projects -- Appendix-A Templates -- Appendix-B The ASCII Character Codes -- Appendix-C Operator Precedence and Associativity -- Appendix-D Differences between C and C++.
Abstract:
C++ is among the most powerful and popular of programming languages for applications. This is an adoptable textbook for undergraduate students who need to use this language for applications that are - in the main - numerical. Most engineering, phys ics, and mathematics degree courses include a computing element: this book should be used where C++ is the chosen language, already the majority of cases. The book is comprehensive and includes advanced features of the language, indicating where they ar e of special interest to the reader. No prior knowledge of C is assumed, and the book's bias towards numerical applications makes it unique in the field.
Added Corporate Author:
Language:
English