HACKER SAFE certified sites prevent over 99.9% of hacker crime.

Gil Adamson and David Wroblewski Read our exclusive interview with Gil Adamson and David Wroblewski and save 30% on their new books: The Outlander and The Story of Edgar Sawtelle.


 
Ships free on qualified orders.
$22.50
List price: 39.00
You save: $16.50
TRADE PAPER, USED
Ships in 1 to 3 days
Add to Wishlist
Qty Store Section
1 Local Warehouse Textbooks


C++ for Java Programmers
by Timothy Budd

C++ for Java Programmers Cover

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

Product Details

ISBN:
9780201612462
Author:
Budd, Timothy
Publisher:
Libri
Author:
Budd, Timothy
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:
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.