Search

Table of Contents
Core C++ A Software Engineering Approach
BOOK:
Core C++ A Software Engineering Approach
Browse by Category
 
 
Hide Left Column
Core C++ A Software Engineering Approach
Core C++ A Software Engineering Approach
by Victor Shtern

Publisher: Prentice Hall
Pub Date: July 24, 2000
Print ISBN-10: 0-13-085729-7
Print ISBN-13: 978-0-13-085729-3
Pages: 1280
Slots: 1.0
Start Reading
Buy Print Version
Overview

Master C++ the right way: From the software engineering perspective!

  • Master C++ the right way!

  • Object-oriented approach to coding throughout

  • Harness C++'s strengths; avoid its dangers

  • Build more easily maintainable code

Build more powerful, robust, maintainable C++ software!

For developers with experience in any language, Victor Shtern's Core C++ teaches C++ the right way: by applying the best software engineering practices and methodologies to programming in C++. Even if you've already worked with C++, this comprehensive book will show you how to build code that is more robust, far easier to maintain and modify, and far more valuable.

Shtern's book teaches object-oriented principles before teaching the language, helping you derive all the power of object-oriented development to build superior software. Learn how to make design decisions based on key criteria such as information hiding and pushing responsibilities from clients down to server classes. Then, master every key feature of ANSI/ISO C++ from a software engineer's perspective: classes, methods, const modifiers, dynamic memory management, class composition, inheritance, polymorphism, I/O, and much more.

If you want to build outstanding C++ software, coding skill isn't enough. Objects aren't enough. You must design, think, and program using today's best software engineering practices — and with Core C++, you will.

So, Core C++ delivers:

  • The application of software engineering principles to C++ programming

  • A strong emphasis on writing code for easier future maintainance and modification

  • A practical understanding of object-oriented principles before teaching the language

  • Insight into the latest ANSI/ISO C++ features

  • Thorough explanations that respect your intelligence

  • Hundreds of realistic, to-the-point code examples

  • Levity Breaks: Stories and vignettes that illustrate key topics, concepts, and ideas through humor

Every core series book:

  • Demonstrates practical techniques used by professional developers.

  • Features robust, thoroughly tested sample code and realistic examples.

  • Focuses on the cutting-edge technologies you need to master today.

  • Provides expert advice that will help you build superior software.

 
Editorial Reviews
Product Description
Teaches C++ by applying the best software engineering practices and methodologies to programming in C++. Shows the user how to build code that is more robust, easier to maintain and modify, and more valuable. Softcover. DLC: C++ (Computer programming language).
Amazon.com Review
Aimed at the Visual C++ newcomer, Core C++: A Software Engineering Approach provides a rich and sometimes densely packed tour of the language, with plenty of advice on the best ways to use this powerful programming language effectively. It's full to the brim with useful advice for creating and using classes effectively, and gaining an expert's understanding of the language.

The writing style and presentation of C++ in this book are outstanding. The explanations of key C++ concepts, from basic language features to class design to advanced C++ whistles and bells, are by turns colloquial, garrulous, and almost always enjoyable and understandable. While it's not uncommon for today's computer book to weigh in at over 1,000 pages, the raw word count here is quite exceptional. You're challenged repeatedly to think for yourself, and the intricacies of C++ are exposed thoroughly, from language features that are indispensable to what to avoid in your code.

You'll get pretty much everything that you need to learn C++ effectively, starting with basic keywords, data types, flow-control statements, and arrays. The guide to understanding object-oriented concepts, like coupling and cohesion, will help you design better classes. Even experienced programmers will appreciate the thorough coverage of memory-management techniques in C++ (including the five kinds of scopes for variables).

An important middle section provides a blueprint for the methods and functions that most C++ code should offer, including such methods as default and copy constructors, destructors, and overloaded assignment operators. (By following this idiom, you'll be able to write reusable C++ classes.) The book also illustrates class design with basic UML notation, excels at presenting the details of how to overload C++ operators to provide easier syntax for custom C++ classes, and provides excellent explanations of the pros and cons of composition and inheritance for getting classes to work together. A look at more advanced C++ features, like templates and exception handling, wraps things up. Along the way, you get a taste of UML notation and a thorough introduction to some of the best practices for writing C++ code effectively.

Core C++ is certainly no quick read, and, if you're in a rush to learn quickly, there are plenty of more concise treatments that are available. But, if you're ambitious and want to master the intricacies of C++ class design with some of its underlying design principles, this is an original and thorough package that offers unique strengths. --Richard Dragan

Topics covered:

  • The software crisis
  • Software project-management techniques
  • Design-quality principles
  • Introduction to the C++ language
  • A minimum C++ application explained
  • C++ data types
  • Operators and flow control
  • Arrays
  • C/C++ structures
  • Unions
  • Enumerations and bit fields
  • Memory-management techniques (including stack and heap allocation, dynamic allocation, avoiding memory leaks)
  • File I/O with and without stream classes
  • Basic C++ class design
  • Parameter passing in C++ (options and best practices)
  • Creating custom programmer-defined data types

  • Cohesion
  • Coupling
  • Data encapsulation and information hiding
  • Guidelines for C++ class design: constructors (default, conversion, and copy constructors), overloading the assignment operator, destructors
  • In-depth guide to overloading C++ operators
  • Introduction to UML class diagrams
  • Aggregation and inheritance
  • C++ class syntax
  • Inheritance vs. composition
  • Virtual methods and late binding
  • Multiple inheritance
  • Advanced operator overloading techniques
  • C++ templates and exceptions
  • Standard C++ type cast operators
  • Review of material covered
  •  
    Reader Reviews From Amazon (Ranked by 'Helpfulness')
    Average Customer Rating:based on 26 reviews.
    Classic and Thorough, 2008-12-11
    Reviewer rating:
    I picked this book up when it was first published in 2000, and thought it was one of the most thorough books on the subject of C++, to explain all the intricacies, the next best thing to having a professor standing next to you and explaining. Eight years later, I still think this is one of the best books. If you take the time to read it, you will walk away with deeper knowledge of C++.
    Outstanding!, 2008-08-06
    Reviewer rating:
    I can't praise this book enough for its style and clarity. Dr. Shtern has an unusual talent for speaking in terms that a beginning C++ user can understand and an experienced C++ user can appreciate. Far more than a "how to" book, it's also a "why to," a "when to," and a "why this is important (or not)" book. I won't try to say it all here; read the Amazon.com editorial review--it's right on the money. "Core C++" has been a real pleasure to read. Highly recommended!
    C++ In-Depth, 2006-01-26
    Reviewer rating:
    The author does an excellent job in explaing the details of how C++ works and its syntax. This book was the definite kickstart in me programming in C++. The only thing you must know is how to use a compiler. The author doesn't talk about compiling or setting up a compiler.

    I highly recommend this book if what your looking for is understanding C++ at the smallest level.
    Goran Ekstrom, 2005-11-21
    Reviewer rating:
    As almost all of the reviewers state, very good book. It's not just an abstract syntax and "Fruit->Berry->Blueberry inheritance" paper like so many other C++ books out there. This book deals with the real world of software problem solving, something I as an active professional, not student, was searching desperately for when I found this book.
    It's like Herb Schildt, but for the masses, 2004-03-23
    Reviewer rating:
    Herb Schildt's book; C++: The Complete Reference stayed with me throughout my second semester in C.S.. But this book is different, where Schildt's book is limited too, this book picks up. This is by far the best C++ tutorial I've read, and his approach is unorthodox. He first explains the software crisis, why Software Engineering is essentially a field that's a total mess.

    He just doesn't throw code at you, he spends time gearing your mind to be a software engineer. He really dives into OOP, and he emphasizes the need for better architecting. All of which are valid. The book is unconventional; most C++ tutorial books give you code, and that's the end of it. This book teaches you fundamental Software Engineering principles while you learn the code. Again, not many C++ books have that.

    Would I recommend this? Yes. It can serve as a self-study guide as well as a textbook. Versatile in purpose, writing style is clear. Anyone who is new to C++, I would definitely recommend this book.

     
    Some information above was provided using data from Amazon.com. View at Amazon >
    Core C++ A Software Engineering Approach
    Core C++ A Software Engineering Approach
    by Victor Shtern

    Publisher: Prentice Hall
    Pub Date: July 24, 2000
    Print ISBN-10: 0-13-085729-7
    Print ISBN-13: 978-0-13-085729-3
    Pages: 1280
    Slots: 1.0
    Start Reading
    Buy Print Version
    Company | Terms of Service | Privacy Policy | Contact Us | Help | 508 Compliance | Subscribe Now
    © 2009 Safari Books Online. All rights reserved.