C++ for Java Programmers / Edition 1

C++ for Java Programmers / Edition 1

by Mark Weiss
ISBN-10:
013919424X
ISBN-13:
9780139194245
Pub. Date:
10/28/2003
Publisher:
Pearson Education
ISBN-10:
013919424X
ISBN-13:
9780139194245
Pub. Date:
10/28/2003
Publisher:
Pearson Education
C++ for Java Programmers / Edition 1

C++ for Java Programmers / Edition 1

by Mark Weiss
$139.99
Current price is , Original price is $139.99. You
$139.99 
  • SHIP THIS ITEM
    This item is available online through Marketplace sellers.
  • PICK UP IN STORE
    Check Availability at Nearby Stores
$22.82 
  • SHIP THIS ITEM

    Temporarily Out of Stock Online

    Please check back later for updated availability.

    • Condition: Good
    Note: Access code and/or supplemental material are not guaranteed to be included with used textbook.

This item is available online through Marketplace sellers.


Overview

For experienced Java programmers and students who require the skills of C++ programming, best-selling author Mark Allen Weiss bridges the gap. He efficiently presents the complex C++ language in this well-designed tutorial/reference that both students and seasoned programmers will appreciate. The book is ideal as a primary text for intermediate C++ courses, as a supplemental no-nonsense reference for other courses, or for independent learning by professionals.

C++ for Java Programmers is a concise, well-written text that provides authoritative and up-to-date coverage of key features and details of C++, with a special focus on how C++ compares to Java. The book's approach shows knowledgeable students or professionals how to grasp the complexities of C++ and harness its power by mutually addressing the benefits and the pitfalls of the two languages. By highlighting the features and comparative elements of each language, and building on the reader's existing knowledge of object-oriented programming, C++ for Java Programmers enables users to master the essentials of C++ quickly and thoroughly.

Key Features
  • Includes insightful comparisons of the two programming languages throughout the text and points out the subtleties of C++
  • Succinctly covers the pertinent highlights of STL (Standard Template Library) and the most effective use of templates
  • Explains the use of the powerful JNI (Java Native Interface) for combining Java and C++
  • Includes a summary of key C++ features and issues with each chapter
  • Provides extensive treatment of C details the programmer is likely to encounter in C++
  • Companion Website for complete online source code at:
    http://www.prenhall.com/weiss
  • Available Instructors Resource CD-ROM

Product Details

ISBN-13: 9780139194245
Publisher: Pearson Education
Publication date: 10/28/2003
Edition description: New Edition
Pages: 304
Product dimensions: 6.90(w) x 9.20(h) x 0.80(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.

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.

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.

From the B&N Reads Blog

Customer Reviews