Tải bản đầy đủ (.pdf) (7 trang)

c core 2000 7838

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (77.12 KB, 7 trang )

file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm

Core C++ A Software Engineering Approach

Victor Shtern
Publisher: Prentice Hall PTR
First Edition July 24, 2000
ISBN: 0-13-085729-7, 1280 pages

Master C++ the right way: From the software engineering perspective!
Front Matter
Table of Contents
About the Author

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.

file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm (1 of 1187) [8/17/2002 2:57:43 PM]



file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm




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 Content
Table of Content
Preface
How Is This Different from Other C++ Books?
Who This Book Is For
How This Book Is Organized
Conventions Used in This Book
Accessing the Source Code
Feedback
Acknowledgments
Part I: Introduction to Programming with C++
Chapter 1. Object-oriented approach: What's So Good About It?
The Origins of the Software Crisis
Remedy 1: Eliminating Programmers
Remedy 2: Improved Management Techniques
Remedy 3: Designing a Complex and Verbose Language
The Object-Oriented Approach: Are We Getting Something for Nothing?
Characteristics of the C++ Programming Language
Summary
Chapter 2. Getting Started Quickly: A Brief Overview of C++
The Basic Program Structure

Preprocessor Directives
Comments
Declarations and Definitions
Statements and Expressions
Functions and Function Calls
Classes
Dealing with Program Development Tools
Summary
Chapter 3. Working with C++ Data and Expressions
Values and Their Types
file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm (2 of 1187) [8/17/2002 2:57:44 PM]


file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm

Integral Types
Floating Point Types
Working with C++ Expressions
Mixed Expressions: Hidden Dangers
Summary
Chapter 4. C++ Control Flow
Statements and Expressions
Conditional Statements
Iteration
C++ Jump Statements
Summary
Chapter 5. Aggregation with Programmer-Defined Data Types
Arrays as Homogeneous Aggregates
Structures as Heterogeneous Aggregates
Unions, Enumerations, and Bit Fields

Summary
Chapter 6. Memory Management: the Stack and the Heap
Name Scope as a Tool for Cooperation
Memory Management: Storage Classes
Memory Management: Using Heap
Input and Output with Disk Files
Summary
Part II: Object-oriented programing with C++
Chapter 7. Programming With C++ Functions
C++ Functions as Modularization Tools
Argument Promotions and Conversions
Parameter Passing in C++
Inline Functions
Parameters with Default Values
Function Name Overloading
Summary
Chapter 8. Object-Oriented Programming with Functions
Cohesion
Coupling
Data Encapsulation
Information Hiding
A Larger Example of Encapsulation
file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm (3 of 1187) [8/17/2002 2:57:44 PM]


file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm

Shortcomings of Encapsulation with Functions
Summary
Chapter 9. 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
Destructors
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
Summary
Chapter 10. Operator Functions: Another Good idea
Overloading of Operators
Limitations on Operator Overloading
Overloaded Operators as Class Members
Case Study: Rational Numbers
Mixed Types as Parameters
Friend Functions
Summary
Chapter 11. Constructors and Destructors: Potential Trouble
More on Passing Objects by Value
Operator Overloading for Nonnumeric Classes

More on the Copy Constructor
Overloading the Assignment Operator
Practical Considerations: What to Implement
Summary
file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm (4 of 1187) [8/17/2002 2:57:44 PM]


file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm

Part III: Object-Oriented Programming with Aggregation and Inheritance
Chapter 12. Composite Classes: Pitfalls and Advantages
Using Class Objects as Data Members
Initialization of Composite Objects
Data Members with Special Properties
Container Classes
Summary
Chapter 13. Similar Classes: How to Treat Them
Treating Similar Classes
Syntax of C++ Inheritance
Accessing Base and Derived Class Services
Accessing Base Components of a Derived Class Object
Scope Rules and Name Resolution Under Inheritance
Constructors and Destructors for Derived Classes
Summary
Chapter 14. Choosing between Inheritance and Composition
Choosing a Technique for Code Reuse
Unified Modeling Language
Case Study: A Rental Store
On Class Visibility and Division of Responsibilities
Summary

Part IV: Advanced uses of C++
Chapter 15. Virtual Functions and other Advanced Uses of Inheritance
Conversions Between Nonrelated Classes
Conversions Between Classes Related Through Inheritance
Virtual Functions: Yet Another New Idea
Multiple Inheritance: Several Base Classes
Summary
Chapter 16. Advanced Uses of Operator Overloading
Operator Overloading: A Brief Overview
Unary Operators
Subscript and Function Call Operators
Input/Output Operators
Summary
Chapter 17. Templates: Yet Another Design Tool
A Simple Example of a Class Design Reuse
Syntax of Template Class Definition
file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm (5 of 1187) [8/17/2002 2:57:44 PM]


file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm

Using these software engineering principles, you will be able to create robust, portable, reusable,
and maintainable C++ applications. And you will be able to do that while having fun, because C++
is a fun language to use.
I wish you well!

file://///Administrator/General%20English%20Learning/it2002-7-6/core.htm (1187 of 1187) [8/17/2002 2:58:13 PM]


InformIT -- Author Biography


Victor Shtern
Victor Shtern is Professor at Boston University's Metropolitan College, considered one of the top U.S.
schools for working professionals. In addition to teaching C++ at the university level, Shtern also teaches
training courses to experienced programmers.
Technical Reviewers: Dan Costello, Senior Software Engineer, GE Marquette Medical Systems Steve
Glass, Senior Software Engineer, Motorola
Technical Editor: Clovis Tondo, author of The C Answer Book and The C++ Answer Book
Close Window

[8/17/2002 3:42:32 PM]



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×