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.
Table of Contents
Introduction to Programming with C++
- Object-oriented approach: What's So Good About It?
- Getting Started Quickly: A Brief Overview of C++
- Working with C++ Data and Expressions
- C++ Control Flow
- Aggregation with Programmer-Defined Data Types
- Memory Management: the Stack and the Heap
Object-oriented programing with C++
- Programming With C++ Functions
- Object-Oriented Programming with Functions
C++ Class as a Unit of Modularization
- Basic Class Syntax
- Binding Together Data and Operations
- Elimination of Name Conflicts
- Implementing Member Functions Outside of Class
- Defining Class Objects of Different Storage Classes
- Controlling Access to Class Members
- Initialization of Object Instances
- Constructors as Member Functions
- Default Constructors
- Copy Constructors
- Conversion Constructors
- Timing of Constructor and Destructor Invocations
- Class Scope and the Overriding of Names in Nested Scopes
- Memory Management with Operators and Function Calls
- Using Returned Objects in Client Code
- More on the const Keyword
- Static Class Members
- Operator Functions: Another Good idea
- Constructors and Destructors: Potential Trouble
Object-Oriented Programming with Aggregation and Inheritance
- Composite Classes: Pitfalls and Advantages
- Similar Classes: How to Treat Them
- Choosing between Inheritance and Composition
Advanced uses of C++
- Virtual Functions and other Advanced Uses of Inheritance
- Advanced Uses of Operator Overloading
- Templates: Yet Another Design Tool
- Programming with Exceptions
- What We Have Learned
- Title: Core C++ A Software Engineering Approach
- Release date: July 2000
- Publisher(s): Prentice Hall
- ISBN: 0130857297