C++ for Java Programmers
by Timothy Budd
|
|
|
About This Book
ISBN13: 9780201612462 |
Only 1 left in stock at $22.50!
Synopses & Reviews
Publisher Comments:
In C++ for Java Programmers, the student gets an introduction to C++ that enlists their Java programming skills to get them comfortably programming in C++. This title is an appropriate supplement for any upper level course in which students are required to program in C++, or for anyone with experience in Java who is interested in an introduction to C++. The text first walks the Java programmer through features controlled by the Java language but left to the programmer in C++ (eg, the use of pointers, controlling memory management). It then builds upon their Java experience to teach language features that are slightly different (eg, the structure of a class definition, polymorphism). Characteristics of C++ that have no correlation in Java are then presented. Features * "Test Your Understanding" questions at the end of each chapter * Four chapter-long case studies *walked-through examples of C++ language features * A price point and length that makes this an ideal title for students who need to learn C++ for their coursework 0201612461B04062001
Synopsis:
In C++ for Java Programmers, readers are provided with an introduction to C++ that enlists their Java programming skills to get them comfortably programming in C++. This book is appropriate for anyone with experience in Java who is interested in an introduction to C++. It begins by discussing how to perform tasks in C++ that are inherent in Java, such as pointers and memory management. It then builds upon their Java experience to teach language features like class definitions and polymorphism which are slightly different in C++. Finally, aspects of C++ that have no correlation in Java — as well as those of Java not found in C++ — are presented.
Synopsis:
This text enables the reader to use Java programming skills to program comfortably in C++. It is an appropriate supplement for any upper level course in which programming in C++ is required, and an introduction to C++ for anyone with experience in Java.
Table of Contents
1 Basic Philosophical Differences
1.1 The Language C
1.2 The Development of C++
1.3 The Legacy Problem
1.4 The Language Java
1.5 The Better Language
1.6 Further Reading
2 Fundamental Data Types
2.1 Integers
2.1.1 Characters
2.1.2 Booleans
2.1.3 Bit Fields
2.2 Floating Point Values
2.3 Enumerated Values
2.4 The void type
2.5 Arrays
2.6 Structures and Unions
2.7 Object Values
2.8 Functions
2.8.1 Order of Argument Evaluation
2.8.2 The Function Main
2.8.3 Alternative Main Entry Points
3 Pointers and References
3.1 Java Really Does Have Pointers
3.2 Pointers on Pointers
3.3 The address-of operator
3.4 Pointers to Simple Values
3.4.1 Pointers to Pointer
3.4.2 Pointers and const
3.4.3 void x pointers
3.4.4 Pointers to Functions
3.5 Pointers to Structures
3.6 Pointers to Arrays
3.7 References
3.7.1 Pass by Reference Parameters
3.7.2 References as Results
4 Memory Management
4.1 The Memory Model
4.2 Stack Resident Memory Values
4.2.1 Lifetime errors
4.2.2 Size errors - the Slicing Problem
4.3 Heap Resident Memory Values
4.3.1 Encapsulating Memory Management
4.3.2 Reference Counts
5 The Class Definition
5.1 Obvious Similarities
5.2 Separation of Class and Implementation
5.2.1 Interface and Implementation Files
5.2.2 The inline directive
5.2.3 Prototypes
5.2.4 External Declarations
5.3 Forward References
5.4 Constructors and Initialization
5.4.1 Default and Copy constructors
5.4.2 Initializers
5.4.3 Order of Initialization
5.4.4 Combining Constructors
5.5 The Orthodox Canonical Class Form
5.6 Visibility modifers
5.7 Inner classes versus Nested Classes
5.8 Static Initialization
5.9 Final Classes
6 Polymorphism
6.1 Virtual and Non-virtual Overriding
6.1.1 Impact of Virtual on Size
6.1.2 Obtaining Type Information from a dynamic value
6.2 Abstract Classes
6.3 Downcasting (Reverse Polymorphism)
6.3.1 Simulating The Dynamic Cast
6.4 Name Resolution
6.5 A Forest, not a Tree
6.6 Virtual Destructors
6.7 Private Inheritance
6.8 Inheritance and Arrays
6.9 Overloading
7 Operator Overloading
7.1 Overloaded Functions or Methods
7.2 The Simple Binary Operators
7.3 The Comparison Operators
7.4 The Increment and Decrement Operators
7.5 The Shift Operators
7.6 The Assignment Operator
7.7 The Compound Assignment Operators
7.8 The Subscript Operator
7.9 The Parenthesis Operator
7.10 The Address Of Operator
7.11 The Logical Connectives
7.12 The Comma Operator
7.13 The Arrow Operator
7.14 Pointers to Members and Pointers to Member Functions
7.15 Conversion Operators
7.16 Memory Management Operators
7.17 Disallowing Operations
7.18 Implicit Functions and Invocations
7.18.1 Implicitly Created Operations
7.18.2 Implicit Function Invocations
8 Characters and Strings
8.1 Characters and Literals Strings
8.1.1 Character Literals and the cctype library
8.1.2 String literals
8.1.3 The cstring library
8.2 Constant and Mutable values
8.3 The string data type
8.4 Example Program - Split a Line into Words
9 Templates and Containers
9.1 Template Classes
9.1.1 Template Methods
9.2 Template Functions
9.3 The Standard Template Library
9.3.1 Containers
9.3.2 Iterators
9.3.3 Generic Algorithms
9.3.4 Function Objects
10 Input Output
10.1 The stdio library
10.1.1 Formatted Output
10.2 The Stream I/O facility
10.2.1 Stream Input
10.2.2 String Streams
10.2.3 File Streams
10.3 An Example Program
11 Exception Handling
11.1 Flags and Return Codes
11.2 The Assertion Library
11.3 The setjmp and longjmp facility
11.4 Signals
11.5 Exception Handling
11.5.1 Exceptions can be Any Type
11.5.2 Rethrowing Exceptions
11.5.3 No Finally Clause
11.5.4 Use References for Exceptions
11.5.5 Exception Classes must be Clonable
11.5.6 Exceptions Need Not be Documented
11.5.7 Standard Exceptions
12 Features found only in C++
12.1 Global Variables
12.2 The Preprocessor
12.3 Typedef
12.4 The const keyword
12.5 Default Arguments
12.6 Friends
12.7 Name Spaces
12.8 Multiple Inheritance
12.9 Goto Statements
13 Features found only in Java
13.1 Wrapper Classes
13.2 Interfaces
13.3 Inline Classes
13.4 Threads
13.5 Re ection
14 Case Study - Fractions
14.1 Classes
14.1.1 Interface and Implementation
14.2 Constructors
14.3 Behavior
14.3.1 Member Functions
14.3.2 Operators
14.3.3 Increment and Decrement
14.3.4 Functions
14.3.5 Member Function Operators
14.3.6 Conversion Operations
14.4 Input and Output Streams
14.4.1 Stream Input
15 Case study - Containers
15.1 Graph Shortest Path Problem
15.1.1 Shortest Path Algorithm
15.1.2 Developing the Data Structures
15.2 A Concordance
16 Case study - A Card Game
16.1 The Class Card
16.2 Data and View Classes
16.3 The Game
16.4 Card Piles-Inheritance in Action
16.4.1 The Default Card Pile
16.4.2 The Suit Piles
16.4.3 The Deck Pile
16.4.4 The Discard Pile
16.4.5 The Tableau Piles
16.5 Playing the Polymorphic Game
16.6 The Graphical User Interface
17 Case Study: Combining Separate Classes
A Include Files
A.1 Input and Output
A.2 Diagnostics
A.3 Strings
A.4 STL Containers
A.5 STL Utility Routines
A.6 Numerical Support
A.7 Run-time Support
A.8 Miscellaneous
Index 283
What Our Readers Are Saying
Be the first to add a comment for a chance to win!
Product Details
- ISBN:
- 9780201612462
- Author:
- Publisher:
- Libri
- Author:
- Location:
- Reading, Mass. :
- Subject:
- Programming Languages - C
- Subject:
- Programming Languages - General
- Subject:
- C (computer program language)
- Subject:
- C plus plus (computer program language)
- Subject:
- Java (Computer program language)
- Subject:
- Language, literature and biography
- Copyright:
- 1999
- Edition Number:
- 1
- Edition Description:
- Includes bibliographical references and index.
- Publication Date:
- March 1999
- Binding:
- Paperback
- Language:
- English
- Illustrations:
- Yes
- Pages:
- 290
- Dimensions:
- 9.19x7.47x.63 in. 1.13 lbs.










