LEADER 05673nam 2200745Ia 450 001 9910781470103321 005 20200520144314.0 010 $a1-118-72257-4 010 $a1-283-31606-4 010 $a9786613316066 010 $a1-61344-506-7 010 $a1-118-16995-6 035 $a(CKB)2550000000063638 035 $a(EBL)818960 035 $a(OCoLC)772844597 035 $a(SSID)ssj0000612640 035 $a(PQKBManifestationID)11414398 035 $a(PQKBTitleCode)TC0000612640 035 $a(PQKBWorkID)10571442 035 $a(PQKB)11451098 035 $a(MiAaPQ)EBC818960 035 $a(CaSebORM)9781118169933 035 $a(Au-PeEL)EBL818960 035 $a(CaPaEBR)ebr10510437 035 $a(CaONFJC)MIL331606 035 $a(MiAaPQ)EBC7147476 035 $a(Au-PeEL)EBL7147476 035 $a(EXLCZ)992550000000063638 100 $a20111123d2011 uy 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aProfessional C++$b[electronic resource] /$fMarc Gregoire, Nicholas A Solter, Scott J Kleper 205 $a2nd ed. 210 $aIndianapolis, IN $cWiley Pubishing, Inc.$d2011 215 $a1 online resource (1106 p.) 300 $aDescription based upon print version of record. 311 $a1-118-54569-9 311 $a0-470-93244-9 320 $aIncludes bibliographical references and index. 327 $aProfessional C++; Contents; Introduction; Part I: Introduction to Professional C++; Chapter 1: A Crash Course in C++; The Basics of C++; The Obligatory Hello, World; Namespaces; Variables; Operators; Types; Conditionals; Loops; Arrays; Functions; Those Are the Basics; Diving Deeper into C++; Pointers and Dynamic Memory; Strings in C++; References; Exceptions; The Many Uses of const; C++ as an Object- Oriented Language; Declaring a Class; The Standard Library; Your First Useful C++ Program; An Employee Records System; The Employee Class; The Database Class; The User Interface 327 $aEvaluating the ProgramSummary; Chapter 2: Designing Professional C++ Programs; What Is Programming Design?; The Importance of Programming Design; What's Different about C++ Design?; Two Rules for C++ Design; Abstraction; Reuse; Reusing Code; A Note on Terminology; Deciding Whether or Not to Reuse Code; Strategies for Reusing Code; Bundling Third-Party Applications; Open-Source Libraries; The C++ Standard Library; Designing with Patterns and Techniques; Designing a Chess Program; Requirements; Design Steps; Summary; Chapter 3: Designing With Objects; Am I Thinking Procedurally? 327 $aThe Object-Oriented PhilosophyClasses; Components; Properties; Behaviors; Bringing It All Together; Living in a World of Objects; Overobjectification; Overly General Objects; Object Relationships; The Has-A Relationship; The Is-A Relationship (Inheritance); The Fine Line between Has-A and Is-A; The Not-A Relationship; Hierarchies; Multiple Inheritance; Mix-in Classes; Abstraction; Interface versus Implementation; Deciding on an Exposed Interface; Designing a Successful Abstraction; Summary; Chapter 4: Designing for Reuse; The Reuse Philosophy; How to Design Reusable Code; Use Abstraction 327 $aStructure Your Code for Optimal ReuseDesign Usable Interfaces; Reconciling Generality and Ease of Use; Summary; Chapter 5: Coding with Style; The Importance of Looking Good; Thinking Ahead; Elements of Good Style; Documenting Your Code; Reasons to Write Comments; Commenting Styles; Comments in This Book; Decomposition; Decomposition through Refactoring; Decomposition by Design; Decomposition in This Book; Naming; Choosing a Good Name; Naming Conventions; Using Language Features with Style; Use Constants; Use References Instead of Pointers; Use Custom Exceptions; Formatting 327 $aThe Curly Brace Alignment DebateComing to Blows over Spaces and Parentheses; Spaces and Tabs; Stylistic Challenges; Summary; Part II: C++ Coding the Professional Way; Chapter 6: Gaining Proficiency with Classes and Objects; Introducing the Spreadsheet Example; Writing Classes; Class Definitions; Defining Methods; Using Objects; Object Life Cycles; Object Creation; Object Destruction; Assigning to Objects; Distinguishing Copying from Assignment; Summary; Chapter 7: mastering classes and Objects; Dynamic Memory Allocation in Objects; The Spreadsheet Class; Freeing Memory with Destructors 327 $aHandling Copying and Assignment 330 $aEssential reading for experienced developers who are determined to master the latest release of C++ Although C++ is often the language of choice from game programming to major commercial software applications, it is also one of the most difficult to master. With this no-nonsense book, you will learn to conquer the latest release of C++. The author deciphers little-known features of C++, shares detailed code examples that you can then plug into your own code, and reveals the significant changes to C++ that accompany the latest release. You'll discover how to design and build applic 606 $aC++ (Computer program language) 606 $aObject-oriented programming (Computer science) 615 0$aC++ (Computer program language) 615 0$aObject-oriented programming (Computer science) 676 $a005.13/3 676 $a005.133 700 $aGregoire$b Marc R$01166929 701 $aSolter$b Nicholas$f1977-$01567376 701 $aKleper$b Scott$f1977-$01567377 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910781470103321 996 $aProfessional C++$93838767 997 $aUNINA