000 | 10656nam a22003973i 4500 | ||
---|---|---|---|
999 |
_c25591 _d25591 |
||
001 | EBC5126558 | ||
003 | MiAaPQ | ||
005 | 20190105115811.0 | ||
006 | m o d | | ||
007 | cr cnu|||||||| | ||
008 | 181231s2010 xx o ||||0 eng d | ||
020 |
_a9788131740002 _q(electronic bk.) |
||
035 | _a(MiAaPQ)EBC5126558 | ||
035 | _a(Au-PeEL)EBL5126558 | ||
035 | _a(CaONFJC)MIL269370 | ||
035 | _a(OCoLC)1024276453 | ||
040 |
_aMiAaPQ _beng _erda _epn _cMiAaPQ _dMiAaPQ |
||
082 |
_223rd _a005.13C |
||
100 | 1 | _aMain, Michael. | |
245 | 1 | 0 | _aData Structures and Other Objects Using C++. |
250 | _a4th ed. | ||
300 | _a1 online resource (849 pages) | ||
505 | 0 | _aCover -- CONTENTS -- CHAPTER 1 THE PHASES OF SOFTWARE DEVELOPMENT -- 1.1 Specification, Design, Implementation -- Design Concept: Decomposing the Problem -- Preconditions and Postconditions -- Using Functions Provided by Other Programmers -- Implementation Issues for the ANSI/ISO C++ Standard -- C++ Feature: The Standard Library and the Standard Namespace -- Programming Tip: Use Declared Constants -- Clarifying the Const Keyword Part 1: Declared Constants -- Programming Tip: Use Assert to Check a Precondition -- Programming Tip: Use EXIT_SUCCESS in a Main Program -- C++ Feature: Exception Handling -- Self-Test Exercises for Section 1.1 -- 1.2 Running Time Analysis -- The Stair-Counting Problem -- Big-O Notation -- Time Analysis of C++ Functions -- Worst-Case, Average-Case, and Best-Case Analyses -- Self-Test Exercises for Section 1.2 -- 1.3 Testing and Debugging -- Choosing Test Data -- Boundary Values -- Fully Exercising Code -- Debugging -- Programming Tip: How to Debug -- Self-Test Exercises for Section 1.3 -- Chapter Summary -- Solutions to Self-Test Exercises -- CHAPTER 2 ABSTRACT DATA TYPES AND C++ CLASSES -- 2.1 Classes and Members -- Programming Example: The Throttle Class -- Clarifying the Const Keyword Part 2: Constant Member Functions -- Using a Class -- A Small Demonstration Program for the Throttle Class -- Implementing Member Functions -- Member Functions May Activate Other Members -- Programming Tip: Style for Boolean Variables -- Self-Test Exercises for Section 2.1 -- 2.2 Constructors -- The Throttle's Constructor -- What Happens If You Write a Class with No Constructors? -- Programming Tip: Always Provide Constructors -- Revising the Throttle's Member Functions -- Inline Member Functions -- Programming Tip: When to Use an Inline Member Function -- Self-Test Exercises for Section 2.2. | |
505 | 8 | _a2.3 Using a Namespace, Header File, and Implementation File -- Creating a Namespace -- The Header File -- Describing the Value Semantics of a Class Within the Header File -- Programming Tip: Document the Value Semantics -- The Implementation File -- Using the Items in a Namespace -- Pitfall: Never Put a Using Statement Actually in a Header File -- Self-Test Exercises for Section 2.3 -- 2.4 Classes and Parameters -- Programming Example: The Point Class -- Default Arguments -- Programming Tip: A Default Constructor Can Be Provided by Using Default Arguments -- Parameters -- Pitfall: Using a Wrong Argument Type for a Reference Parameter -- Clarifying the Const Keyword Part 3: Const Reference Parameters -- Programming Tip: Use const Consistently -- When the Type of a Function's Return Value Is a Class -- Self-Test Exercises for Section 2.4 -- 2.5 Operator Overloading -- Overloading Binary Comparison Operators -- Overloading Binary Arithmetic Operators -- Overloading Output and Input Operators -- Friend Functions -- Programming Tip: When to Use a Friend Function -- The Point Class-Putting Things Together -- Summary of Operator Overloading -- Self-Test Exercises for Section 2.5 -- 2.6 The Standard Template Libary and the Pair Class -- Chapter Summary -- Solutions to Self-Test Exercises -- Programming Projects -- CHAPTER 3 CONTAINER CLASSES -- 3.1 The Bag Class -- The Bag Class-Specification -- C++ Feature: Typedef Statements Within a Class Definition -- C++ Feature: The std::size_t Data Type -- Clarifying the Const Keyword Part 4: Static Member Constants -- Older Compilers Do Not Support Initialization of Static Member Constants -- The Bag Class-Documentation -- Documenting the Value Semantics -- The Bag Class-Demonstration Program -- The Bag Class-Design -- Pitfall: The value_type Must Have a Default Constructor -- The Invariant of a Class. | |
505 | 8 | _aThe Bag Class-Implementation -- Pitfall: Needing to Use the Full Type Name bag::size_type -- Programming Tip: Make Assertions Meaningful -- C++ Feature: The Copy Function from the C++ Standard Library -- The Bag Class-Putting the Pieces Together -- Programming Tip: Document the Class Invariant in the Implementation File -- The Bag Class-Testing -- Pitfall: An Object Can Be an Argument to Its Own Member Function -- The Bag Class-Analysis -- Self-Test Exercises for Section 3.1 -- 3.2 Programming Project: The Sequence Class -- The Sequence Class-Specification -- The Sequence Class-Documentation -- The Sequence Class-Design -- The Sequence Class-Pseudocode for the Implementation -- Self-Test Exercises for Section 3.2 -- 3.3 Interactive Test Programs -- C++ Feature: Converting Input to Uppercase Letters -- C++ Feature: The Switch Statement -- Self-Test Exercises for Section 3.3 -- 3.4 The STL Multiset Class and Its Iterator -- The Multiset Template Class -- Some Multiset Members -- Iterators and the [...) Pattern -- Pitfall: Do Not Access an Iterator's Item After Reaching end( ) -- Testing Iterators for Equality -- Other Multiset Operations -- Invalid Iterators -- Clarifying the Const Keyword Part 5: Const Iterators -- Pitfall: Changing a Container Object Can Invalidate Its Iterators -- Self-Test Exercises for Section 3.4 -- Chapter Summary -- Solutions to Self-Test Exercises -- Programming Projects -- CHAPTER 4 POINTERS AND DYNAMIC ARRAYS -- 4.1 Pointers and Dynamic Memory -- Pointer Variables -- Using the Assignment Operator with Pointers -- Dynamic Variables and the new Operator -- Using new to Allocate Dynamic Arrays -- The Heap and the bad_alloc Exception -- The delete Operator -- Programming Tip: Define Pointer Types -- Self-Test Exercises for Section 4.1 -- 4.2 Pointers and Arrays as Parameters. | |
505 | 8 | _aClarifying the Const Keyword Part 6: Const Parameters That Are Pointers or Arrays -- Self-Test Exercises for Section 4.2 -- 4.3 The Bag Class with a Dynamic Array -- Pointer Member Variables -- Member Functions Allocate Dynamic Memory as Needed -- Programming Tip: Provide Documentation about Possible Dynamic Memory Failure -- Value Semantics -- The Destructor -- The Revised Bag Class-Class Definition -- The Revised Bag Class-Implementation -- Programming Tip: How to Check for Self-Assignment -- Programming Tip: How to Allocate Memory in a Member Function -- The Revised Bag Class-Putting the Pieces Together -- Self-Test Exercises for Section 4.3 -- 4.4 Prescription for a Dynamic Class -- Four Rules -- Special Importance of the Copy Constructor -- Pitfall: Using Dynamic Memory Requires a Destructor, a Copy Constructor, and an Overloaded Assignment Operator -- Self-Test Exercises for Section 4.4 -- 4.5 The STL String Class and a Project -- Null-Terminated Strings -- Initializing a String Variable -- The Empty String -- Reading and Writing String Variables -- Pitfall: Using = and == with Strings -- The strcpy Function -- The strcat Function -- Pitfall: Dangers of strcpy, strcat, and Reading Strings -- The strlen Function -- The strcmp Function -- The String Class-Specification -- Constructor for the String Class -- Overloading the Operator [ ] -- Some Further Overloading -- Other Operations for the String Class -- The String Class-Design -- The String Class-Implementation -- Demonstration Program for the String Class -- Chaining the Output Operator -- Declaring Constant Objects -- Constructor-Generated Conversions -- Using Overloaded Operations in Expressions -- Our String Class Versus the C++ Library String Class -- Self-Test Exercises for Section 4.5 -- 4.6 Programming Project: The Polynomial -- Chapter Summary -- Solutions to Self-Test Exercises. | |
505 | 8 | _aProgramming Projects -- CHAPTER 5 LINKED LISTS -- 5.1 A Fundamental Node Class for Linked Lists -- Declaring a Class for Nodes -- Using a Typedef Statement with Linked-List Nodes -- Head Pointers, Tail Pointers -- The Null Pointer -- The Meaning of a Null Head Pointer or Tail Pointer -- The Node Constructor -- The Node Member Functions -- The Member Selection Operator -- Clarifying the Const Keyword Part 7: The Const Keyword with a Pointer to a Node, and the Need for Two Versions of Some Member Functions -- Programming Tip: A Rule for a Node's Constant Member Functions -- Pitfall: Dereferencing the Null Pointer -- Self-Test Exercises for Section 5.1 -- 5.2 A Linked-List Toolkit -- Linked-List Toolkit-Header File -- Computing the Length of a Linked List -- Programming Tip: How to Traverse a Linked List -- Pitfall: Forgetting to Test the Empty List -- Parameters for Linked Lists -- Inserting a New Node at the Head of a Linked List -- Inserting a New Node That Is Not at the Head -- Pitfall: Unintended Calls to delete and new -- Searching for an Item in a Linked List -- Finding a Node by Its Position in a Linked List -- Copying a Linked List -- Removing a Node at the Head of a Linked List -- Removing a Node That Is Not at the Head -- Clearing a Linked List -- Linked-List Toolkit-Putting the Pieces Together -- Using the Linked-List Toolkit -- Self-Test Exercises for Section 5.2 -- 5.3 The Bag Class with a Linked List -- Our Third Bag-Specification -- Our Third Bag-Class Definition -- How to Make the Bag value_type Match the Node value_type -- Following the Rules for Dynamic Memory Usage in a Class -- The Third Bag Class-Implementation -- Pitfall: The Assignment Operator Causes Trouble with Linked Lists -- Programming Tip: How to Choose Between Approaches -- The Third Bag Class-Putting the Pieces Together -- Self-Test Exercises for Section 5.3. | |
505 | 8 | _a5.4 Programming Project: The Sequence Class with a Linked List. | |
590 | _aElectronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2018. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. | ||
655 | 4 | _aElectronic books. | |
700 | 1 | _aSavitch, Walter. | |
776 | 0 | 8 |
_iPrint version: _aMain, Michael _tData Structures and Other Objects Using C++ _dNoida : Pearson India,c2010 |
797 | 2 | _aProQuest (Firm) | |
856 | 4 | 0 |
_uhttps://ebookcentral.proquest.com/lib/cethalassery/detail.action?docID=5126558 _zClick to View |
942 |
_2ddc _cBK |