C++ The Core Language: A Foundation for C Programmers

C++ The Core Language: A Foundation for C Programmers

by Gregory Satir, Doug Brown
C++ The Core Language: A Foundation for C Programmers

C++ The Core Language: A Foundation for C Programmers

by Gregory Satir, Doug Brown

Paperback

$49.99 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE
    Check Availability at Nearby Stores

Related collections and offers


Overview

C++ is an object-oriented enhancement of the C programming language and is becoming the language of choice for serious software development. C++ has crossed the Single Book Complexity Barrier. The individual features are not all that complex, but when put together in a program they interact in highly non-intuitive ways. Many books discuss each of the features separately, giving readers the illusion that they understand the language. But when they try to program, they're in for a painful surprise (even people who already know C). C++: The Core Language is for C programmers transitioning to C++. It's designed to get readers up to speed quickly by covering an essential subset of the language. The subset consists of features without which it's just not C++, and a handful of others that make it a reasonably useful language. You can actually use this subset (using any compiler) to get familiar with the basics of the language. Once you really understand that much, it's time to do some programming and learn more from other books. After reading this book, you'll be far better equipped to get something useful out of a reference manual, a graphical user interface programming book, and maybe a book on the specific libraries you'll be using. (Take a look at our companion book, Practical C++ Programming.) C++: The Core Language includes sidebars that give overviews of all the advanced features not covered, so that readers know they exist and how they fit in. It covers features common to all C++ compilers, including those on UNIX, Windows NT, Windows, DOS, and Macintosh. Comparison: C++: The Core Language vs. Practical C++ Programming O'Reilly's policy is not to publish two books on the same topic for the same audience. We'd rather spend twice the time on making one book the industry's best. So why do we have two C++ tutorials? Which one should you get? The answer is they're very different. Steve Oualline, author of the successful book Practical C Programming, came to us with the idea of doing a C++ edition. Thus was born Practical C++ Programming. It's a comprehensive tutorial to C++, starting from the ground up. It also covers the programming process, style, and other important real-world issues. By providing exercises and problems with answers, the book helps you make sure you understand before you move on. While that book was under development, we received the proposal for C++: The Core Language. Its innovative approach is to cover only a subset of the language — the part that's most important to learn first — and to assume readers already know C. The idea is that C++ is just too complicated to learn all at once. So, you learn the basics solidly from this short book, which prepares you to understand some of the 200+ other C++ books and to start programming. These two books are based on different philosophies and are for different audiences. But there is one way in which they work together. If you are a C programmer, we recommend you start with C++: The Core Language, then read about advanced topics and real-world problems in Practical C++ Programming.

Product Details

ISBN-13: 9781565921160
Publisher: O'Reilly Media, Incorporated
Publication date: 10/28/1995
Series: Nutshell Handbooks
Pages: 230
Sales rank: 1,001,302
Product dimensions: 7.00(w) x 9.19(h) x 0.57(d)

About the Author

Gregory Satir helps develop online publishing tools in the Portland, Oregon, office of Electronic Book Technologies. He graduated with a B.S. in computer science from Brown University.

Gregory Satir helps develop online publishing tools in the Portland, Oregon, office of Electronic Book Technologies. He graduated with a B.S. in computer science from Brown University. Doug Brown is a consultant/contractor in Beaverton, Oregon. He has been developing software for circuit simulation, synthesis, and testing since 1977. Doug coauthored lex & yacc, another O'Reilly & Associates Nutshell Handbook. He received an M.S. in electrical engineering from the Universityof Illinois at Urbana-Champaign in 1976.

Table of Contents

Preface
Chapter 1. Object-Oriented Programming with Classes
Object-Oriented Programming
Classes
Chapter 2. C++ Without Classes
Three to Start
Function Changes
Stricter Typing
Dynamic Initialization of Globals
Some Final Lists
Chapter 3. Abstraction with Member Functions
The Abstraction
Using a struct
Using a struct with Interface Functions
Using a Class with Member Functions
Chapter 4. Encapsulation with Access Specifiers
Access Specifiers
A Member Can Have Any Access Level
Unlimited Access Specifiers
Private Does Not Mean Invisible
Friend Classes
Chapter 5. Hierarchy with Composition and Derivation
Composition
Derivation
Chaining
Chapter 6. Better Abstraction with Constructors and Destructors
The Default Constructor
The Destructor
Built-in Types
Hierarchy and Chaining
Implicit Default Constructors and Destructors
Beyond Chaining
Explicit Invocation
Flow of Control
Time of Invocation
Chapter 7. Better Abstraction with new and delete
Dynamic Objects
Dynamic Arrays
Mixing Allocators
realloc()
Out of Memory
Chapter 8. References
Parameter Versus Argument
Passing by Value in C and C++
Passing by Reference in C++
Reference Versus Pointer
Returning by Reference in C++
Overloading: Reference Versus Value
Binding Problems
Chapter 9. Better Abstraction with Other Special Member Functions
Assignment Operator
Copy Constructor
Printing an Object
Summary
Chapter 10. An Example Class
Using an int
Using a Static Array
Using a Dynamic Array
Using a Reference-Counted String
Copy Constructor Quiz
Summary Table
Chapter 11. Better Hierarchy with Templates
Defining a Template
Using a Template to Define an Object
Careful with That Expansion, Eugene
Modifying Container Class Elements
Chapter 12. Polymorphism with Virtual Functions
Polymorphism in C
Virtual Functions
Polymorphism in C++
More About Virtual Functions
Chapter 13. More About Polymorphism
Abstract Classes
Derivation Decisions
Virtual Decisions
Calling Virtual Functions from Constructors and Destructors
Under the Hood
Pitfalls
Chapter 14. Implementing an Object-Oriented Design
Implementation Table
Examples
Is-A, Has-A
Defensive Implementation
Chapter 15. An Example Program
The String Class
The Rule, CwRule, and HwRule Classes
The Scanner Class
Using the Program
Example Code
Chapter 16. What to Study Next
const
inline
Constructors with Parameters
Member Initialization Lists
Efficient Copy Constructor
Special Member Functions
Appendix A. C++ Operators
Appendix B. One Problem with Returning by Value
Glossary
Index

From the B&N Reads Blog

Customer Reviews