C++ for C Programmers, 3/e
Ira Pohl
- 出版商: Addison Wesley
- 出版日期: 1998-11-20
- 售價: $833
- 語言: 英文
- 頁數: 504
- 裝訂: Paperback
- ISBN: 0201395193
- ISBN-13: 9780201395198
-
相關分類:
C 程式語言、C++ 程式語言
已絕版
買這商品的人也買了...
-
$1,200$1,176 -
$580$458 -
$1,068Software Engineering, 6/e
-
$350$298 -
$970Introduction to Algorithms, 2/e
-
$650$585 -
$900$711 -
$1,710$1,625 -
$1,029Operating System Concepts, 6/e (Windows XP Update)
-
$1,090$1,068 -
$1,030$1,009 -
$2,340$2,223 -
$1,860$1,767 -
$1,650$1,568 -
$780$741 -
$1,127Computer Networks, 4/e
-
$650$553 -
$590$466 -
$720$684 -
$600$474 -
$149$149 -
$490$382 -
$880$695 -
$590$460 -
$650$507
相關主題
商品描述
Description
Extensively revised and updated, this proven book by noted C++/C expert Ira Pohl is written specifically for C programmers who are transitioning to C++. The book takes an evolutionary teaching approach, using C as a starting point and C++ as a destination. This third edition reflects the new ANSI C++ Standard, and covers the latest language features — including detailed discussions of templates, STL, and exception handling.
Appropriate Courses
C++--Intermediate Programming, Programming Languages/Comparative Languages.
Table Of Contents
(Each chapter concludes with a Summary, Review Questions and Exercises.)
Preface.
1. An Overview of C++ and Object-Oriented Programming.
Why Learn C++?
C as a Starting Point.
Classes and Abstract Data Types.
Constructors and Destructors.
Overloading.
Inheritance.
Moving from C++ to Java.
Benefits of Object-Oriented Programming.
Pragmatics.
2. Native Types and Statements.
Keywords.
Identifiers.
Literals.
Operators and Punctuators.
Input/Output.
Program Structure.
Simple Types.
The Traditional Conversions.
Enumeration Types.
Expressions.
Statements.
The Compound Statement.
The if and if-else Statements.
The while Statement.
The for Statement.
The do Statement.
The break and continue Statements.
The switch Statement.
Pragmatics.
Moving from C++ to Java.
3. Functions, Pointers, and Arrays.
Function Definition.
The return Statement.
Function Prototypes.
Default Arguments.
Functions as Arguments.
Overloading Functions.
Inlining.
Scope and Storage Class.
The Storage Class extern.
The Storage Class register.
The Storage Class static.
Linkage Mysteries.
Namespaces.
Pointer Types.
Pointer-Based Call-by-Reference.
Reference Declarations and Call-by-Reference.
The Uses of void.
Arrays and Pointers.
Initialization.
The Relationship Between Arrays and Pointers.
Passing Arrays to Functions.
The char String: A Kernel Language ADT.
Multidimensional Arrays.
Assertions and Program Correctness.
Free-Store Operators new and delete.
Pragmatics.
String Instead of char.
Moving from C++ to Java.
4. Classes.
Structure Pointer Operator.
Member Functions.
Access: Private and Public.
Classes.
Class Scope.
Nested Classes.
An Example: Flushing.
static and const Members.
The this Pointer.
Unions.
Bit Fields.
A Container Class Example: ch_stack.
Pragmatics.
Moving from C++ to Java.
5. Constructors and Destructors.
Constructor Initializer.
Constructors as Conversions.
Improving the
point
Class. Constructing a Dynamically Sized Stack.
Classes with Destructors.
An Example: Dynamically Allocated Strings.
The Class dbl_vect.
Members That Are Class Types.
Example: A Singly Linked List.
Two-Dimensional Arrays.
Polynomials as a Linked List.
Strings Using Reference Semantics.
No Constructor, Copy Constructor, and Other Mysteries.
Pragmatics.
Moving from C++ to Java.
6. Operator Overloading and Conversions.
Overloading and Function Selection.
Friend Functions.
Overloading Operators.
Unary Operator Overloading.
Binary Operator Overloading.
Overloading Assignment and Subscripting Operators.
Polynomial: Type and Language Expectations.
Overloading I/O Operators << and >>.
Overloading Operator () for Indexing.
Overloading the Pointer Operator ->.
Overloading new and delete.
Pragmatics.
Moving from C++ to Java.
7. Templates, Generic Programming, and STL.
Function Templates.
Class Templates.
Static Members.
Class Template Arguments.
Default Template Arguments.
Member Templates.
Parameterizing the Class vector.
STL.
Containers.
Associative Containers.
Container Adapters.
Iterators.
Iterator Adapters.
Algorithms.
Nonmutating Sequence Algorithms.
Mutating Sequence Algorithms.
Numerical Algorithms.
Numerical Integration Made Easy.
Pragmatics.
Moving from C++ to Java.
8. Inheritance.
Typing Conversions and Visibility.
Virtual Functions.
Abstract Base Classes.
Templates and Inheritance.
Multiple Inheritance.
Inheritance and Design.
Code Reuse.
Runtime Type Identification.
Pragmatics.
Moving from C++ to Java.
9. Exceptions.
C++ Exceptions.
Throwing Exceptions.
Exception Expressions.
Try Blocks.
Handlers.
Exception Specification.
Terminate() and Unexpected().
Example Exception Code.
Standard Exceptions and Their Uses.
Pragmatics.
Moving from C++ to Java.
10. OOP Using C++.
Reuse and Inheritance.
Polymorphism.
OOP: The Dominant Programming Methodology.
Designing with OOP in Mind.
Class-Responsibility-Collaborator.
Design Patterns.
Moving from C++ to Java.
Appendix A: ASCII Character Codes.
Appendix B: Operator Precedence and Associativity.
Appendix C: Language Guide.
Lexical Elements.
Identifiers.
Keywords.
Constants.
Declarations and Scope Rules.
Namespaces.
Linkage Rules.
Types.
Conversion Rules and Casts.
Expressions and Operators.
Autoincrement and Autodecrement Expressions.
Arithmetic Expressions.
Relational, Equality, and Logical Expressions.
Assignment Expressions.
Comma Expressions.
Conditional Expressions.
Bit-Manipulation Expressions.
Address and Indirection Expressions.
new and delete Expressions.
Other Expressions.
Statements.
The Compound Statement.
The if and if-else Statements.
The while Statement.
The for Statement.
The do Statement.
The Break and Continue Statements.
The switch Statement.
The go to Statement.
The return Statement.
The Declaration Statement.
Functions.
Call-by-Reference.
Inline Functions.
Default Arguments.
Overloading.
Type-Safe Linkage for Functions.
Classes.
Member Functions.
Friend Functions.
The this Pointer.
Operator Overloading.
static and const Member Functions.
Mutable.
Inheritance.
Constructor Invocation.
Abstract Base Classes.
Pointer to Class Member.
Runtime Type Identification.
Virtual Functions.
Templates.
Function Template.
Friends.
Static Members.
Specialization.
Exceptions.
Try Blocks.
Handlers.
Exception Specification.
Terminate() and Unexpected().
Standard Library Exceptions.
Caution and Compatibility.
Type Compatibilities.
Miscellaneous.
New Features in C++.
Appendix D: Input/Output.
Formatted Output and iomanip.
User-Defined Types: Output.
The Input Class istream.
Files.
Using Strings as Streams.
The Functions and Macros in ctype.
Using Stream States.
Mixing I/O Libraries.
Appendix E: STL and String Libraries.
Associative Containers.
Container Adapters.
Iterators.
Iterator Adapters.
Algorithms.
Nonmutating Sequence Algorithms.
Mutating Sequence Algorithms.
Numerical Algorithms.
Functions.
Allocators.
String Library.
Member Functions.
Global Operators.
References.
Index. 0201395193T04062001