C++ for Programmers (Deitel Developer Series) (1ST)

個数:

C++ for Programmers (Deitel Developer Series) (1ST)

  • 在庫がございません。海外の書籍取次会社を通じて出版社等からお取り寄せいたします。
    通常6~9週間ほどで発送の見込みですが、商品によってはさらに時間がかかることもございます。
    重要ご説明事項
    1. 納期遅延や、ご入手不能となる場合がございます。
    2. 複数冊ご注文の場合、分割発送となる場合がございます。
    3. 美品のご指定は承りかねます。

    ●3Dセキュア導入とクレジットカードによるお支払いについて
  • 【入荷遅延について】
    世界情勢の影響により、海外からお取り寄せとなる洋書・洋古書の入荷が、表示している標準的な納期よりも遅延する場合がございます。
    おそれいりますが、あらかじめご了承くださいますようお願い申し上げます。
  • ◆画像の表紙や帯等は実物とは異なる場合があります。
  • ◆ウェブストアでの洋書販売価格は、弊社店舗等での販売価格とは異なります。
    また、洋書販売価格は、ご注文確定時点での日本円価格となります。
    ご注文確定後に、同じ洋書の販売価格が変動しても、それは反映されません。
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 1000 p.
  • 言語 ENG
  • 商品コード 9780137001309
  • DDC分類 005.133

Full Description


PRACTICAL, EXAMPLE-RICH COVERAGE OF:Classes, Objects, Encapsulation, Inheritance, Polymorphism Integrated OOP Case Studies: Time, GradeBook, Employee Industrial-Strength, 95-Page OOD/UML (R) 2 ATM Case Study Standard Template Library (STL): Containers, Iterators and Algorithms I/O, Types, Control Statements, Functions Arrays, Vectors, Pointers, References String Class, C-Style Strings Operator Overloading, Templates Exception Handling, Files Bit and Character Manipulation Boost Libraries and the Future of C++ GNU (TM) and Visual C++ (R) Debuggers And more...VISIT WWW.DEITEL.COMFor information on Deitel (R) Dive-Into (R) Series corporate training courses offered at customer sites worldwide (or write to deitel@deitel.com) Download code examples Check out the growing list of programming, Web 2.0 and software-related Resource Centers To receive updates for this book, subscribe to the free DEITEL (R) BUZZ ONLINE e-mail newsletter at www.deitel.com/newsletter/subscribe.html Read archived issues of the DEITEL (R) BUZZ ONLINEThe professional programmer's DEITEL (R) guide to C++ and object-oriented application developmentWritten for programmers with a background in high-level language programming, this book applies the Deitel signature live-code approach to teaching programming and explores the C++ language and C++ Standard Libraries in depth. The book presents the concepts in the context of fully tested programs, complete with syntax shading, code highlighting, code walkthroughs and program outputs. The book features 240 C++ applications with over 15,000 lines of proven C++ code, and hundreds of tips that will help you build robust applications.Start with an introduction to C++ using an early classes and objects approach, then rapidly move on to more advanced topics, including templates, exception handling, the Standard Template Library (STL) and selected features from the Boost libraries. You'll enjoy the Deitels' classic treatment of object-oriented programming and the OOD/UML (R) 2 ATM case study, including a complete C++ implementation. When you're finished, you'll have everything you need to build object-oriented C++ applications.The DEITEL (R) Developer Series is designed for practicing programmers. The series presents focused treatments of emerging technologies, including C++, .NET, Java (TM), web services, Internet and web development and more. PRE-PUBLICATION REVIEWER TESTIMONIALS"An excellent `objects first' coverage of C++. The example-driven presentation is enriched by the optional UML case study that contextualizes the material in an ongoing software engineering project." -Gavin Osborne, Saskatchewan Institute of Applied Science and Technology"Introducing the UML early on is a great idea." -Raymond Stephenson, Microsoft "Good use of diagrams, especially of the activation call stack and recursive functions." -Amar Raheja, California State Polytechnic University, Pomona"Terrific discussion of pointers-probably the best I have seen." -Anne B. Horton, Lockheed Martin"Great coverage of polymorphism and how the compiler implements polymorphism `under the hood.'" -Ed James-Beckham, Borland"The Boost/C++0x chapter will get you up and running quickly with the memory management and regular expression libraries, plus whet your appetite for new C++ features being standardized." -Ed Brey, Kohler Co."Excellent introduction to the Standard Template Library (STL). The best book on C++ programming!" -Richard Albright, Goldey-Beacom College"Just when you think you are focused on learning one topic, suddenly you discover you've learned more than you expected." -Chad Willwerth, University of Washington, Tacoma"The most thorough C++ treatment I've seen. Replete with real-world case studies covering the full software development lifecycle. Code examples are extraordinary!" -Terrell Hull, Logicalis Integration Solutions/

Contents

Preface xxiBefore You Begin xliChapter 111.1 Introduction 21.2 History of C and C++ 31.3 C++ Standard Library 41.4 Key Software Trend: Object Technology 51.5 Typical C++ Development Environment 61.6 Notes About C++ and C++ for Programmers 81.7 Test-Driving a C++ Application 91.8 Software Technologies 151.9 Future of C++: Open Source Boost Libraries, TR1 and C++0x 161.10 Software Engineering Case Study: Introduction to Object Technology and the UML 161.11 Wrap-Up 211.12 Web Resources 22Chapter 2: Introduction to C++ Programming 242.1 Introduction 252.2 First Program in C++: Printing a Line of Text 252.3 Modifying Our First C++ Program 282.4 Another C++ Program: Adding Integers 292.5 Arithmetic 332.6 Decision Making: Equality and Relational Operators 352.7 (Optional) Software Engineering Case Study: Examining the ATM Requirements Specification 382.8 Wrap-Up 47Chapter 3: Introduction to Classes and Objects 483.1 Introduction 493.2 Classes, Objects, Member Functions and Data Members 493.3 Overview of the Chapter Examples 513.4 Defining a Class with a Member Function 523.5 Defining a Member Function with a Parameter 553.6 Data Members, set Functions and get Functions 583.7 Initializing Objects with Constructors 653.8 Placing a Class in a Separate File for Reusability 693.9 Separating Interface from Implementation 733.10 Validating Data with set Functions 793.11 (Optional) Software Engineering Case Study: Identifying the Classes in the ATM Requirements Specification 843.12 Wrap-Up 92Chapter 4: Control Statements: Part 1 934.1 Introduction 944.2 Control Structures 944.3 if Selection Statement 974.4 if...else Double-Selection Statement 984.5 while Repetition Statement 1024.6 Counter-Controlled Repetition 1044.7 Sentinel-Controlled Repetition 1084.8 Nested Control Statements 1154.9 Assignment Operators 1184.10 Increment and Decrement Operators 1194.11 (Optional) Software Engineering Case Study: Identifying Class Attributes in the ATM System 1224.12 Wrap-Up 127Chapter 5: Control Statements: Part 2 1285.1 Introduction 1295.2 Essentials of Counter-Controlled Repetition 1295.3 for Repetition Statement 1315.4 Examples Using the for Statement 1345.5 do...while Repetition Statement 1395.6 switch Multiple-Selection Statement 1415.7 break and continue Statements 1515.8 Logical Operators 1535.9 Confusing the Equality (==) and Assignment (=) Operators 1585.10 (Optional) Software Engineering Case Study: Identifying Objects' States and Activities in the ATM System 1595.11 Wrap-Up 163Chapter 6: Functions and an Introduction to Recursion 1656.1 Introduction 1666.2 Program Components in C++ 1676.3 Math Library Functions 1676.4 Function Definitions with Multiple Parameters 1686.5 Function Prototypes and Argument Coercion 1736.6 C++ Standard Library Header Files 1766.7 Case Study: Random Number Generation 1786.8 Case Study: Game of Chance; Introducing enum 1846.9 Storage Classes 1876.10 Scope Rules 1906.11 Function Call Stack and Activation Records 1936.12 Functions with Empty Parameter Lists 1976.13 Inline Functions 1986.14 References and Reference Parameters 2006.15 Default Arguments 2056.16 Unary Scope Resolution Operator 2076.17 Function Overloading 2086.18 Function Templates 2116.19 Recursion 2136.20 Example Using Recursion: Fibonacci Series 2176.21 Recursion vs. Iteration 2206.22 (Optional) Software Engineering Case Study: Identifying Class Operations in the ATM System 2226.23 Wrap-Up 229Chapter 7: Arrays and Vectors 2307.1 Introduction 2317.2 Arrays 2327.3 Declaring Arrays 2347.4 Examples Using Arrays 2347.5 Passing Arrays to Functions 2507.6 Case Study: Class GradeBook Using an Array to Store Grades 2557.7 Searching Arrays with Linear Search 2627.8 Sorting Arrays with Insertion Sort 2637.9 Multidimensional Arrays 2657.10 Case Study: Class GradeBook Using a Two-Dimensional Array 2687.11 Introduction to C++ Standard Library Class Template vector 2757.12 (Optional) Software Engineering Case Study: Collaboration Among Objects in the ATM System 2817.13 Wrap-Up 288Chapter 8: Pointers and Pointer-Based Strings 2898.1 Introduction 2908.2 Pointer Variable Declarations and Initialization 2908.3 Pointer Operators 2928.4 Passing Arguments to Functions by Reference with Pointers 2958.5 Using const with Pointers 2998.6 Selection Sort Using Pass-by-Reference 3068.7 sizeof Operator 3098.8 Pointer Expressions and Pointer Arithmetic 3128.9 Relationship Between Pointers and Arrays 3158.10 Arrays of Pointers 3198.11 Case Study: Card Shuffling and Dealing Simulation 3208.12 Function Pointers 3248.13 Introduction to Pointer-Based String Processing 3308.14 Wrap-Up 340Chapter 9: Classes: A Deeper Look, Part 1 3429.1 Introduction 3439.2 Time Class Case Study 3449.3 Class Scope and Accessing Class Members 3509.4 Separating Interface from Implementation 3529.5 Access Functions and Utility Functions 3539.6 Time Class Case Study: Constructors with Default Arguments 3569.7 Destructors 3619.8 When Constructors and Destructors Are Called 3629.9 Time Class Case Study: A Subtle Trap-Returning a Reference to a private Data Member 3669.10 Default Memberwise Assignment 3689.11 (Optional) Software Engineering Case Study: Starting to Program the Classes of the ATM System 3719.12 Wrap-Up 378Chapter 10: Classes: A Deeper Look, Part 2 38010.1 Introduction 38110.2 const (Constant) Objects and const Member Functions 38110.3 Composition: Objects as Members of Classes 39110.4 friend Functions and friend Classes 39810.5 Using the this Pointer 40210.6 Dynamic Memory Management with Operators new and delete 40710.7 static Class Members 40910.8 Data Abstraction and Information Hiding 41510.9 Container Classes and Iterators 41810.10 Proxy Classes 41810.11 Wrap-Up 422Chapter 11: Operator Overloading; String and Array Objects 42311.1 Introduction 42411.2 Fundamentals of Operator Overloading 42511.3 Restrictions on Operator Overloading 42611.4 Operator Functions as Class Members vs. Global Functions 42811.5 Overloading Stream Insertion and Stream Extraction Operators 42911.6 Overloading Unary Operators 43311.7 Overloading Binary Operators 43311.8 Case Study: Array Class 43411.9 Converting between Types 44611.10 Case Study: String Class 44711.11 Overloading ++ and -- 45911.12 Case Study: A Date Class 46111.13 Standard Library Class string 46511.14 explicit Constructors 46911.15 Wrap-Up 473Chapter 12: Object-Oriented Programming: Inheritance 47412.1 Introduction 47512.2 Base Classes and Derived Classes 47612.3 protected Members 47912.4 Relationship between Base Classes and Derived Classes 47912.5 Constructors and Destructors in Derived Classes 51112.6 public, protected and private Inheritance 51912.7 Software Engineering with Inheritance 51912.8 Wrap-Up 521Chapter 13: Object-Oriented Programming: Polymorphism 52213.1 Introduction 52313.2 Polymorphism Examples 52513.3 Relationships Among Objects in an Inheritance Hierarchy 52613.4 Type Fields and switch Statements 54413.5 Abstract Classes and Pure virtual Functions 54413.6 Case Study: Payroll System Using Polymorphism 54613.7 (Optional) Polymorphism, Virtual Functions and Dynamic Binding "Under the Hood" 56413.8 Case Study: Payroll System Using Polymorphism and Runtime Type Information with Downcasting, dynamic_cast, typeid and type_info 56813.9 Virtual Destructors 57113.10 (Optional) Software Engineering Case Study: Incorporating Inheritance into the ATM System 57213.11 Wrap-Up 580Chapter 14 Templates 58114.1 Introduction 58214.2 Function Templates 58314.3 Overloading Function Templates 58614.4 Class Templates 58614.5 Nontype Parameters and Default Types for Class Templates 59314.6 Notes on Templates and Inheritance 59414.7 Notes on Templates and Friends 59414.8 Notes on Templates and static Members 59514.9 Wrap-Up 596Chapter 15: Stream Input/Output 59715.1 Introduction 59815.2 Streams 59915.3 Stream Output 60315.4 Stream Input 60415.5 Unformatted I/O Using read, write and gcount 60815.6 Introduction to Stream Manipulators 60915.7 Stream Format States and Stream Manipulators 61515.8 Stream Error States 62515.9 Tying an Output Stream to an Input Stream 62815.10 Wrap-Up 628Chapter 16: Exception Handling 62916.1 Introduction 63016.2 Exception-Handling Overview 63116.3 Example: Handling an Attempt to Divide by Zero 63116.4 When to Use Exception Handling 63716.5 Rethrowing an Exception 63816.6 Exception Specifications 64016.7 Processing Unexpected Exceptions 64116.8 Stack Unwinding 64116.9 Constructors, Destructors and Exception Handling 64316.10 Exceptions and Inheritance 64416.11 Processing new Failures 64416.12 Class auto_ptr and Dynamic Memory Allocation 64816.13 Standard Library Exception Hierarchy 65116.14 Other Error-Handling Techniques 65216.15 Wrap-Up 653Chapter 17: File Processing 65417.1 Introduction 65517.2 Data Hierarchy 65517.3 Files and Streams 65717.4 Creating a Sequential File 65817.5 Reading Data from a Sequential File 66217.6 Updating Sequential Files 66917.7 Random-Access Files 66917.8 Creating a Random-Access File 67017.9 Writing Data Randomly to a Random-Access File 67517.10 Reading from a Random-Access File Sequentially 67717.11 Case Study: A Transaction-Processing Program 68017.12 Overview of Object Serialization 68717.13 Wrap-Up 687Chapter 18: Class string and String Stream Processing 68818.1 Introduction 68918.2 string Assignment and Concatenation 69018.3 Comparing strings 69218.4 Substrings 69518.5 Swapping strings 69618.6 string Characteristics 69718.7 Finding Substrings and Characters in a string 69918.8 Replacing Characters in a string 70118.9 Inserting Characters into a string 70318.10 Conversion to C-Style Pointer-Based char * Strings 70418.11 Iterators 70618.12 String Stream Processing 70718.13 Wrap-Up 710Chapter 19: Bits, Characters, C Strings and structs 71119.1 Introduction 71219.2 Structure Definitions 71219.3 Initializing Structures 71519.4 Using Structures with Functions 71519.5 typedef 71519.6 Example: High-Performance Card Shuffling and Dealing Simulation 71619.7 Bitwise Operators 71919.8 Bit Fields 72819.9 Character-Handling Library 73219.10 Pointer-Based String-Conversion Functions 73819.11 Search Functions of the Pointer-Based String-Handling Library 74319.12 Memory Functions of the Pointer-Based String-Handling Library 74819.13 Wrap-Up 753Chapter 20: Standard Template Library (STL) 75420.1 Introduction to the Standard Template Library (STL) 75620.2 Sequence Containers 76820.3 Associative Containers 78220.4 Container Adapters 79120.5 Algorithms 79620.6 Class bitset 82720.7 Function Objects 83120.8 Wrap-Up 83420.9 STL Web Resources 835Chapter 21: Boost Libraries, Technical Report 1 and C++0x 83621.1 Introduction 83721.2 Deitel Online C++ and Related Resource Centers 83721.3 Boost Libraries 83821.4 Adding a New Library to Boost 83821.5 Installing the Boost Libraries 83921.6 Boost Libraries in Technical Report 1 (TR1) 83921.7 Regular Expressions with the Boost.Regex Library 84221.8 Smart Pointers with Boost.Smart_ptr 85121.9 Technical Report 1 86221.10 C++0x 86321.11 Core Language Changes 86321.12 Wrap-Up 868Chapter 22: Other Topics 86922.1 Introduction 87022.2 const_cast Operator 87022.3 namespaces 87222.4 Operator Keywords 87622.5 mutable Class Members 87822.6 Pointers to Class Members (.* and ->*) 88022.7 Multiple Inheritance 88222.8 Multiple Inheritance and virtual Base Classes 88722.9 Wrap-Up 891Appendix A: Operator Precedence and Associativity Chart 892A.1 Operator Precedence 892Appendix B: ASCII Character Set 895Appendix C: Fundamental Types 896Appendix D: Preprocessor 898D.1 Introduction 899D.2 The #include Preprocessor Directive 899D.3 The #define Preprocessor Directive: Symbolic Constants 900D.4 The #define Preprocessor Directive: Macros 900D.5 Conditional Compilation 902D.6 The #error and #pragma Preprocessor Directives 903D.7 Operators # and ## 904D.8 Predefined Symbolic Constants 904D.9 Assertions 905D.10 Wrap-Up 905Appendix E: ATM Case Study Code 906E.1 ATM Case Study Implementation 906E.2 Class ATM 907E.3 Class Screen 914E.4 Class Keypad 915E.5 Class CashDispenser 916E.6 Class DepositSlot 918E.7 Class Account 919E.8 Class BankDatabase 921E.9 Class Transaction 925E.10 Class BalanceInquiry 927E.11 Class Withdrawal 929E.12 Class Deposit 934E.13 Test Program ATMCaseStudy.cpp 937E.14 Wrap-Up 937Appendix F: UML 2: Additional Diagram Types 938F.1 Introduction 938F.2 Additional Diagram Types 938Appendix G: Using the Visual Studio Debugger 940G.1 Introduction 941G.2 Breakpoints and the Continue Command 941G.3 Locals and Watch Windows 946G.4 Controlling Execution Using the Step Into, Step Over, Step Out and Continue Commands 949G.5 Autos Window 952G.6 Wrap-Up 953Appendix H: Using the GNU C++ Debugger 954H.1 Introduction 955H.2 Breakpoints and the run, stop, continue and print Commands 955H.3 print and set Commands 962H.4 Controlling Execution Using the step, finish and next Commands 964H.5 watch Command 966H.6 Wrap-Up 968Bibliography 970Index 976

最近チェックした商品