C++ for Java Programmers / Edition 1

Hardcover (Print)
Rent
Rent from BN.com
$28.92
(Save 70%)
Est. Return Date: 12/01/2014
Buy Used
Buy Used from BN.com
$57.29
(Save 41%)
Item is in good condition but packaging may have signs of shelf wear/aging or torn packaging.
Condition: Used – Good details
Used and New from Other Sellers
Used and New from Other Sellers
from $49.67
Usually ships in 1-2 business days
(Save 49%)
Other sellers (Hardcover)
  • All (14) from $49.67   
  • New (8) from $78.21   
  • Used (6) from $49.67   

Overview

Written for the moderately experienced Java programmer, this book builds on readers¿ existing knowledge of object-oriented programming and covers all important aspects of Standard C++—emphasizing more lower-level C-style details later in the presentation. Chapter topics include philosophy of C++, simplest C++, pointers and reference variables, object-based programming: classes, operator overloading, object-oriented programming: inheritance, templates, abnormal control flow, input and output, collections: the standard template library, primitive arrays and strings, C-style C++, and using Java and C++: the JNI. For new C++ programmers converted from Java.

Read More Show Less

Product Details

  • ISBN-13: 9780139194245
  • Publisher: Prentice Hall
  • Publication date: 10/28/2003
  • Edition description: New Edition
  • Edition number: 1
  • Pages: 304
  • Product dimensions: 6.90 (w) x 9.10 (h) x 0.70 (d)

Read an Excerpt

For many years, C++ was the defacto language of choice in introductory Computer Science courses, due largely to its support for object-oriented programming, as well as its wide adoption in industry. However, because C++ is arguably the most complex language ever to be widely-used, Java, which also supports object-oriented programming, recently has emerged as the preferred introductory language. Nonetheless, demand for C++ skill is still high in industry and most universities require C++ programming at some point in the Computer Science curriculum. Although Java and C++ look similar, programming in C++ is somewhat more challenging and filled with subtle details. While there are many books that thoroughly describe C++ (see the Bibliography), the vast majority exceed 1,000 pages and, for the most part, are written for either experienced industry programmers or novices.

This book is designed as a quick start guide for students who are knowledgeable in an object-oriented language (most likely Java) and would like to learn C++. Throughout the text, we compare and contrast Java and C++, and show C++ substitutes for Java equivalents. We do not describe in detail basic concepts (such as inheritance) that are common in both C++ and Java; rather, we describe how the concepts are implemented in C++. This helps achieve one of the important goals of this book, which is to keep the page count reasonably low. Consequently, this book is not appropriate for students who have limited or no prior programming experience. Organization The book begins with a brief overview of C++ in Chapter 0. In Chapter 1, we describe some of the basic expressions and statements in C++, which mostlymirror simple Java syntax. Functions, arrays, strings, and parameter passing are discussed in Chapter 2. We use the modern alternative of introducing and using the standard vector and string classes in the C++ library, rather than the older-style built-in array constructs.

Chapter 3 describes pointers and reference variables, paying particular attention to the host of pitfalls that await a C++ programmer. Chapter 4 is a long chapter that describes the basics of classes.

Two C++ features that are not part of Java are operator overloading and templates. Operator overloading is discussed in Chapter 5 and templates are discussed in Chapter 7. In between, we cover inheritance in Chapter 6. In Chapter 8, we examine exceptions in C++, as well as older library routines such as abort.

The next two chapters discuss some C++ libraries. Chapter 9 deals with I/O and Chapter 10 introduces the Standard Template Library, which is the C++ equivalent of the Collections API. Both libraries are complex enough to require an entire book: We provide the most important highlights, rather than attempting to list every detail.

Many courses will require C programming in addition to C++ programming. Because C++ builds on C, many C programming techniques are also found in C++, although in C++ they are not always the preferred way to do things. Chapter 11 covers primitive arrays and strings. As we mentioned earlier, modern C++ uses library classes as an alternative. Nonetheless, primitive arrays and strings will almost certainly be encountered by any C++ programmer, and the techniques are essentially the same in C++ and C. Chapter 12 covers C idioms that are occasionally used in C++, but probably should be avoided. Finally, in Chapter 13, we describe the Java Native Interface (again a whole book can be written on this one topic), which allows Java programmers to implement their methods in C++ or C.

Read More Show Less

Table of Contents

0. Introduction.

1. Basic Types and Control Structures.

2. Functions, Arrays, Strings, and Parameter Passing.

3. Pointers and Reference Variables.

4. Object-Based Programming: Classes.

5. Operator Overloading.

6. Object-Oriented Programming: Inheritance.

7. Templates.

8. Abnormal Control Flow.

9. Input and Output.

10. Collections: The Standard Template Library.

11. Primitive Arrays and Strings.

12. C-Style C++.

13. Using Java and C++: The JNI.

Bibliography.

Index.

Read More Show Less

Preface

For many years, C++ was the defacto language of choice in introductory Computer Science courses, due largely to its support for object-oriented programming, as well as its wide adoption in industry. However, because C++ is arguably the most complex language ever to be widely-used, Java, which also supports object-oriented programming, recently has emerged as the preferred introductory language. Nonetheless, demand for C++ skill is still high in industry and most universities require C++ programming at some point in the Computer Science curriculum. Although Java and C++ look similar, programming in C++ is somewhat more challenging and filled with subtle details. While there are many books that thoroughly describe C++ (see the Bibliography), the vast majority exceed 1,000 pages and, for the most part, are written for either experienced industry programmers or novices.

This book is designed as a quick start guide for students who are knowledgeable in an object-oriented language (most likely Java) and would like to learn C++. Throughout the text, we compare and contrast Java and C++, and show C++ substitutes for Java equivalents. We do not describe in detail basic concepts (such as inheritance) that are common in both C++ and Java; rather, we describe how the concepts are implemented in C++. This helps achieve one of the important goals of this book, which is to keep the page count reasonably low. Consequently, this book is not appropriate for students who have limited or no prior programming experience.

Organization

The book begins with a brief overview of C++ in Chapter 0. In Chapter 1, we describe some of the basic expressions and statements in C++, which mostly mirror simple Java syntax. Functions, arrays, strings, and parameter passing are discussed in Chapter 2. We use the modern alternative of introducing and using the standard vector and string classes in the C++ library, rather than the older-style built-in array constructs.

Chapter 3 describes pointers and reference variables, paying particular attention to the host of pitfalls that await a C++ programmer. Chapter 4 is a long chapter that describes the basics of classes.

Two C++ features that are not part of Java are operator overloading and templates. Operator overloading is discussed in Chapter 5 and templates are discussed in Chapter 7. In between, we cover inheritance in Chapter 6. In Chapter 8, we examine exceptions in C++, as well as older library routines such as abort.

The next two chapters discuss some C++ libraries. Chapter 9 deals with I/O and Chapter 10 introduces the Standard Template Library, which is the C++ equivalent of the Collections API. Both libraries are complex enough to require an entire book: We provide the most important highlights, rather than attempting to list every detail.

Many courses will require C programming in addition to C++ programming. Because C++ builds on C, many C programming techniques are also found in C++, although in C++ they are not always the preferred way to do things. Chapter 11 covers primitive arrays and strings. As we mentioned earlier, modern C++ uses library classes as an alternative. Nonetheless, primitive arrays and strings will almost certainly be encountered by any C++ programmer, and the techniques are essentially the same in C++ and C. Chapter 12 covers C idioms that are occasionally used in C++, but probably should be avoided. Finally, in Chapter 13, we describe the Java Native Interface (again a whole book can be written on this one topic), which allows Java programmers to implement their methods in C++ or C.

Read More Show Less

Customer Reviews

Average Rating 3
( 1 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(1)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted October 2, 2009

    No text was provided for this review.

Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)