![Visual C 2008 How To Program Deitel Pdf Converter Visual C 2008 How To Program Deitel Pdf Converter](/uploads/1/2/6/3/126315529/199896470.jpg)
Appropriate for all basic-to-intermediate level courses in Visual Basic 2008 programming. Created by world-renowned programming instructors Paul and Harvey Deitel, Visual Basic 2008 How to Program, Fourth Edition introduces all facets of the Visual Basic 2008 language hands-on, through hundreds of.
Annotation
The Deitels' groundbreaking How to Program series offers unparalleled breadth and depth of programming concepts for programmers of all levels. The books in this series feature hundreds of complete, working programs with thousands of lines of code. KEY TOPICS: Focuses on native C++ and presents examples of .NET managed code programming with C++/CLI, where appropriate. Takes an easy-to-follow, carefully developed early classes and objects approach provides comprehensive coverage of object-oriented programming. Teaches the fundamentals of software engineering and object-oriented design with the UML 2.0 using an optional automated teller machine (ATM) case study, with additional integrated case studies throughout the text. For anyone interested in learning how to program Visual C++.
Publisher Description
For courses that offer a Microsoft-specific C++ programming focus using Visual C++ 2008.
Based on the authors' highly popular C++-standard-compliant textbook, C++ How to Program, 6/e, Visual C++ How to Program 2/ E builds off this successful approach to offer readers a comprehensive introduction to Visual C++. Through their ongoing consultation with the Microsoft Visual C++ team, the Deitels have developed an approach that focuses on native C++ and presents examples of .NET managed code programming with C++/CLI, where appropriate. The book takes an easy-to-follow, carefully developed early classes and objects approach. This includes comprehensive coverage of the Visual C++ environment.
Like other books in the How to Program series, the new edition retains the Deitels' classic approach to developing good programming skills. These tools have been refined over a combined six decades of academic and industry teaching experience. This approach has been the foundation of several programmers in industry today.
Author Biography
Paul J. Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is a graduate of MIT's Sloan School of Management, where he studied Information Technology. He holds the Java Certified Programmer and Java Certified Developer certifications, and has been designated by Sun Microsystems as a Java Champion. Through Deitel & Associates, Inc., he has delivered Java, C, C++, C# and Visual Basic courses to industry clients, including IBM, Sun Microsystems, Dell, Lucent Technologies, Fidelity, NASA at the Kennedy Space Center, the National Severe Storm Laboratory, White Sands Missile Range, Rogue Wave Software, Boeing, Stratus, Cambridge Technology Partners, Open Environment Corporation, One Wave, Hyperion Software, Adra Systems, Entergy, CableData Systems, Nortel Networks, Puma, iRobot, Invensys and many more. He has also lectured on Java and C++ for the Boston Chapter of the Association for Computing Machinery. He and his father, Dr. Harvey M. Deitel, are the world's best-selling programming language textbook authors.
Dr. Harvey M. Deitel, Chairman and Chief Strategy Officer of Deitel & Associates, Inc., has 45 years of academic and industry experience in the computer field. Dr. Deitel earned B.S. and M.S. degrees from the MIT and a Ph.D. from Boston University. He has 20 years of college teaching experience, including earning tenure and serving as the Chairman of the Computer Science Department at Boston College before founding Deitel & Associates, Inc., with his son, Paul J. Deitel. He and Paul are the co-authors of several dozen books and multimedia packages and they are writing many more. With translations published in Japanese, German, Russian, Spanish, Traditional Chinese, Simplified Chinese, Korean, French, Polish, Italian, Portuguese, Greek, Urdu and Turkish, the Deitels' texts have earned international recognition. Dr. Deitel has delivered hundreds of professional seminars to major corporations, academic institutions, government organizations and the military.
Table of Contents
1 Introduction to Computers, the Internet and Visual C++1.1 Introduction1.2 What Is a Computer?1.3 Computer Organization1.4 Early Operating Systems1.5 Personal Computing, Distributed Computing and Client/Server Computing1.6 The Internet and the World Wide Web1.7 Hardware Trends1.8 Microsoft's Windows (R) Operating System1.9 Machine Languages, Assembly Languages and High-Level Languages1.10 Visual C++1.11 C++ Standard Library1.12 Java, C# and Visual Basic1.13 Other High-Level Languages1.14 Microsoft's .NET1.15 The .NET Framework and the Common Language Runtime1.16 Key Software Trend: Object Technology1.17 Typical Visual C++ Development Environment1.18 Test-Driving a Visual C++ Application1.19 Software Technologies1.20 Future of Visual C++: Open Source Boost Libraries, TR1 and C++0x1.21 (Only Required Section of the Case Study) Software Engineering CaseStudy: Introduction to Object Technology and the UML1.22 Wrap-Up
2 Dive Into (R) Visual C++ (R) 2008 Express2.1 Introduction2.2 Overview of the Visual Studio 2008 IDE2.3 Menu Bar and Toolbar2.4 Navigating the Visual Studio 2008 IDE2.4.1 Solution Explorer2.4.2 Properties Window2.5 Using Help2.6 Wrap-Up2.7 Web Resources2.7.1 Toolbox
3 Introduction to Visual C++ Programming3.1 Introduction3.2 First Program in Visual C++: Printing a Line of Text3.3 Modifying Our First Visual C++ Program3.4 Another Visual C++ Program: Adding Integers3.5 Memory Concepts3.6 Arithmetic3.7 Decision Making: Equality and Relational Operators3.8 (Optional) Software Engineering Case Study: Examining the ATMRequirements Specification3.9 Wrap-Up
4 Introduction to Classes and Objects4.1 Introduction4.2 Classes, Objects, Member Functions and Data Members4.3 Overview of the Chapter Examples4.4 Defining a Class with a Member Function4.5 Defining a Member Function with a Parameter4.6 Data Members, set Functions and get Functions4.7 Initializing Objects with Constructors4.8 Placing a Class in a Separate File for Reusability4.9 Separating Interface from Implementation4.10 Validating Data with set Functions4.11 Defining a Managed Class with Member Functions in C++/CLI4.12 Instance Variables and Properties in C++/CLI4.13 (Optional) Software Engineering Case Study: Identifying the Classesin the ATM Requirements Specification4.14 Wrap-Up
5 Control Statements: Part 15.1 Introduction5.2 Algorithms5.3 Pseudocode5.4 Control Structures5.5 if Selection Statement5.6 if...else Double-Selection Statement5.7 while Repetition Statement5.8 Formulating Algorithms: Counter-Controlled Repetition5.9 Formulating Algorithms: Sentinel-Controlled Repetition5.10 Formulating Algorithms: Nested Control Statements5.11 Assignment Operators5.12 Increment and Decrement Operators5.13 (Optional) Software Engineering Case Study: Identifying Class Attributesin the ATM System5.14 Wrap-Up
6 Control Statements: Part 26.1 Introduction6.2 Essentials of Counter-Controlled Repetition6.3 for Repetition Statement6.4 Examples Using the for Statement6.5 do...while Repetition Statement6.6 switch Multiple-Selection Statement6.7 break and continue Statements6.8 Logical Operators6.9 Confusing the Equality () and Assignment (=) Operators6.10 Structured Programming Summary6.11 (Optional) Software Engineering Case Study: Identifying Objects'States and Activities in the ATM System6.12 Wrap-Up
7 Functions and an Introduction to Recursion7.1 Introduction7.2 Program Components in Visual C++7.3 Math Library Functions7.4 Function Definitions with Multiple Parameters7.5 Function Prototypes and Argument Coercion7.6 C++ Standard Library Header Files7.7 Case Study: Random Number Generation7.8 Case Study: Game of Chance; Introducing enum7.9 Storage Classes7.10 Scope Rules7.11 Function-Call Stack and Activation Records7.12 Functions with Empty Parameter Lists7.13 Inline Functions7.14 References and Reference Parameters7.15 Default Arguments7.16 Unary Scope Resolution Operator7.17 Function Overloading7.18 Function Templates7.19 Recursion7.20 Example Using Recursion: Fibonacci Series7.21 Recursion vs. Iteration7.22 Enumerations in C++/CLI7.23 (Optional) Software Engineering Case Study: Identifying ClassOperations in the ATM System7.24 Wrap-Up
8 Arrays and Vectors8.1 Introduction8.2 Arrays8.3 Declaring Arrays8.4 Examples Using Arrays8.4.1 Declaring an Array and Using a Loop to Initialize the Array'sElements8.4.2 Initializing an Array in a Declaration with an Initializer List8.4.3 Specifying an Array's Size with a Constant Variable andSetting Array Elements with Calculations8.4.4 Summing the Elements of an Array8.4.5 Using Bar Charts to Display Array Data Graphically8.4.6 Using the Elements of an Array as Counters8.4.7 Using Arrays to Summarize Survey Results8.4.8 Static Local Arrays and Automatic Local Arrays8.5 Passing Arrays to Functions8.6 Case Study: Class GradeBook Using an Array to Store Grades8.7 Searching Arrays with Linear Search8.8 Sorting Arrays with Insertion Sort8.9 Multidimensional Arrays8.10 Case Study: Class GradeBook Using a Two-Dimensional Array8.11 Introduction to C++ Standard Library Class Template vector8.12 Introduction to Managed Arrays with C++/CLI8.13 for each Statement8.14 Multidimensional Arrays in C++/CLI8.15 (Optional) Software Engineering Case Study: Collaboration AmongObjects in the ATM System8.16 Wrap-Up
9 Pointers and Pointer-Based Strings9.1 Introduction9.2 Pointer Variable Declarations and Initialization9.3 Pointer Operators9.4 Passing Arguments to Functions by Reference with Pointers9.5 Using const with Pointers9.6 Selection Sort Using Pass-by-Reference9.7 sizeof Operator9.8 Pointer Expressions and Pointer Arithmetic9.9 Relationship Between Pointers and Arrays9.10 Arrays of Pointers9.11 Case Study: Card Shuffling and Dealing Simulation9.12 Function Pointers9.13 Introduction to Pointer-Based String Processing9.13.1 Fundamentals of Characters and Pointer-Based Strings9.13.2 String-Manipulation Functions of the String-Handling Library9.14 Introduction to C++/CLI Handles9.15 Passing Arguments to Functions by Reference with Handles9.16 Tracking References and References to Handles9.17 Interior Pointers9.18 Wrap-Up
10 Classes: A Deeper Look, Part 110.1 Introduction10.2 Time Class Case Study10.3 Class Scope and Accessing Class Members10.4 Separating Interface from Implementation10.5 Access Functions and Utility Functions10.6 Time Class Case Study: Constructors with Default Arguments10.7 Destructors10.8 When Constructors and Destructors Are Called10.9 Time Class Case Study: A Subtle Trap-Returning a Reference to a private Data Member10.10 Default Memberwise Assignment10.11 Class View and Object Browser10.12 (Optional) Software Engineering Case Study: Starting to Program theClasses of the ATM System10.13 Wrap-Up
11 Classes: A Deeper Look, Part 211.1 Introduction11.2 const (Constant) Objects and const Member Functions11.3 Composition: Objects as Members of Classes11.4 friend Functions and friend Classes11.5 Using the this Pointer11.6 Dynamic Memory Management with Operators new and delete11.7 static Class Members11.8 Data Abstraction and Information Hiding11.8.1 Example: Array Abstract Data Type11.8.2 Example: String Abstract Data Type11.8.3 Example: Queue Abstract Data Type11.9 Container Classes and Iterators11.10 Proxy Classes11.11 const and friend in C++/CLI11.12 Dynamic Memory Management in C++/CLI11.13 Stack Semantics in C++/CLI11.14 Finalizers11.15 Value Types vs. Reference Types11.16 Boxing and Unboxing in C++/CLI11.17 Indexers11.18 Wrap-Up
12 Operator Overloading; String and Array Objects12.1 Introduction12.2 Fundamentals of Operator Overloading12.3 Restrictions on Operator Overloading12.4 Operator Functions as Class Members vs. Global Functions12.5 Overloading Stream Insertion and Stream Extraction Operators12.6 Overloading Unary Operators12.7 Overloading Binary Operators12.8 Case Study: Array Class12.9 Converting between Types12.10 Case Study: String Class12.11 Overloading ++ and --12.12 Case Study: A Date Class12.13 Standard Library Class string12.14 explicit Constructors12.15 C++/CLI Operators and Constructors12.16 Wrap-Up
13 Object-Oriented Programming: Inheritance13.1 Introduction13.2 Base Classes and Derived Classes13.3 protected Members13.4 Relationship between Base Classes and Derived Classes13.4.1 Creating and Using a CommissionEmployee Class13.4.2 Creating a BasePlusCommissionEmployee Class Without Using Inheritance13.4.3 Creating a CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy13.4.4 CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy Using protected Data13.4.5 CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy Using private Data13.5 Constructors and Destructors in Derived Classes13.6 public, protected and private Inheritance13.7 Software Engineering with Inheritance13.8 Inheritance in C++/CLI13.9 Wrap-Up
14 Object-Oriented Programming: Polymorphism14.1 Introduction14.2 Polymorphism Examples14.3 Relationships Among Objects in an Inheritance Hierarchy14.3.1 Invoking Base-Class Functions from Derived-Class Objects14.3.2 Aiming Derived-Class Pointers at Base-Class Objects14.3.3 Derived-Class Member-Function Calls via Base-Class Pointers14.3.4 Virtual Functions14.3.5 Summary of the Allowed Assignments Between Base-Class and Derived-Class Objects and Pointers14.4 Type Fields and switch Statements14.5 Abstract Classes and Pure virtual Functions14.6 Case Study: Payroll System Using Polymorphism14.6.1 Creating Abstract Base Class Employee14.6.2 Creating Concrete Derived Class SalariedEmployee14.6.3 Creating Concrete Derived Class HourlyEmployee14.6.4 Creating Concrete Derived Class CommissionEmployee14.6.5 Creating Indirect Concrete Derived ClassBasePlusCommissionEmployee14.6.6 Demonstrating Polymorphic Processing14.7 (Optional) Polymorphism, Virtual Functions and Dynamic Binding'Under the Hood'14.8 Case Study: Payroll System Using Polymorphism and RuntimeType Information with Downcasting, dynamic_cast, typeidand type_info14.9 Virtual Destructors14.10 Polymorphism in C++/CLI14.11 (Optional) Software Engineering Case Study: Incorporating Inheritanceinto the ATM System14.12 Wrap-Up
15 Templates and Generics15.1 Introduction15.2 Function Templates15.3 Overloading Function Templates15.4 Class Templates15.5 Nontype Parameters and Default Types for Class Templates15.6 Notes on Templates and Inheritance15.7 Notes on Templates and Friends15.8 Notes on Templates and static Members15.9 Templates in C++/CLI15.10 .NET Generics in C++/CLI15.11 Generic Type Constraints15.12 Contrasting Templates and Generics15.13 Wrap-Up
16 Exception Handling16.1 Introduction16.2 Exception-Handling Overview16.3 Example: Divide by Zero Without Exception Handling16.4 Example: Handling an Attempt to Divide by Zero16.5 When to Use Exception Handling16.6 Rethrowing an Exception16.7 Processing Unexpected Exceptions16.8 Stack Unwinding16.9 Constructors, Destructors and Exception Handling16.10 Exceptions and Inheritance16.11 Processing new Failures16.12 Class auto_ptr and Dynamic Memory Allocation16.13 Standard Library Exception Hierarchy16.14 Other Error-Handling Techniques16.15 .NET Exception Hierarchy with C++/CLI16.15.1 Classes ApplicationException and SystemException16.15.2 Determining Which Exceptions a Function Throws16.16 finally Block in C++/CLI16.17 Exception Properties in C++/CLI16.18 User-Defined Exception Classes16.19 Wrap-Up16.20 Exception Specifications
17 Stream Input/Output and Files17.1 Introduction17.2 Streams17.2.1 Classic Streams vs. Standard Streams17.2.2 iostream Library Header Files17.2.3 Stream-Input/Output Classes and Objects17.3 Stream Output17.3.1 Output of char * Variables17.3.2 Character Output Using Member Function put17.4 Stream Input17.4.1 get and getline Member Functions17.4.2 istream Member Functions peek, putback and ignore17.4.3 Type-Safe I/O17.5 Unformatted I/O Using read, write and gcount17.6 Introduction to Stream Manipulators17.6.1 Integral Stream Base: dec, oct, hex and setbase17.6.2 Floating-Point Precision (precision, setprecision)17.6.3 Field Width (width, setw)17.6.4 User-Defined Output Stream Manipulastors17.7 Stream Format States and Stream Manipulators17.7.1 Trailing Zeros and Decimal Points (showpoint)17.7.2 Justification (left, right and internal)17.7.3 Padding (fill, setfill)17.7.4 Integral Stream Base (dec, oct, hex, showbase)17.7.5 Floating-Point Numbers; Scientific and Fixed Notation (scientific, fixed)17.7.6 Uppercase/Lowercase Control (uppercase)17.7.7 Specifying Boolean Format (boolalpha)17.7.8 Setting and Resetting the Format State via Member Function flags17.8 Stream Error States17.9 Tying an Output Stream to an Input Stream17.10 Data Hierarchy17.11 Files and Streams17.12 Creating a Sequential File17.13 Reading Data from a Sequential File17.14 Updating Sequential Files17.15 Wrap-Up
18 Files and Streams in .NET18.1 Introduction18.2 Files and Streams18.3 Classes File and Directory18.4 Creating a Sequential-Access Text File18.5 Reading Data from a Sequential-Access Text File18.6 Serialization18.7 Creating a Sequential-Access File Using Object Serialization18.8 Reading and Deserializing Data from a Sequential-Access Text File18.9 Wrap-Up
19 Class string and String Stream Processing19.1 Introduction19.2 string Assignment and Concatenation19.3 Comparing strings19.4 Substrings19.5 Swapping strings19.6 string Characteristics19.7 Finding Substrings and Characters in a string19.8 Replacing Characters in a string19.9 Inserting Characters into a string19.10 Conversion to C-Style Pointer-Based char * Strings19.11 Iterators19.12 String Stream Processing19.13 Fundamentals of Characters and Strings in C++/CLI19.14 String Constructors19.15 String Indexer, Length Property and CopyTo Function19.16 Comparing Strings19.17 Locating Characters and Substrings in Strings19.18 Extracting Substrings from Strings19.19 Concatenating Strings19.20 Miscellaneous String Functions19.21 Class StringBuilder19.22 Length and Capacity Properties, EnsureCapacity Function andIndexer of Class StringBuilder19.23 Append and AppendFormat Functions of Class StringBuilder19.24 Insert, Remove and Replace Functions of Class StringBuilder19.25 Char Functions19.26 Wrap-Up
20 Searching and Sorting20.1 Introduction20.2 Searching Algorithms20.2.1 Efficiency of Linear Search20.2.2 Binary Search20.3 Sorting Algorithms20.3.1 Efficiency of Selection Sort20.3.2 Efficiency of Insertion Sort20.3.3 Merge Sort (A Recursive Implementation)20.4 Wrap-Up
21 Data Structures21.1 Introduction21.2 Self-Referential Classes21.3 Dynamic Memory Allocation and Data Structures21.4 Linked Lists21.5 Stacks21.6 Queues21.7 Trees21.8 Wrap-Up
22 Bits, Characters, C Strings and structs22.1 Introduction22.2 Structure Definitions22.3 Initializing Structures22.4 Using Structures with Functions22.5 typedef22.6 Example: High-Performance Card Shuffling and Dealing Simulation22.7 Bitwise Operators22.8 Bit Fields22.9 Character-Handling Library22.10 Pointer-Based String-Conversion Functions22.11 Search Functions of the Pointer-Based String-Handling Library22.12 Memory Functions of the Pointer-Based String-Handling Library22.13 Wrap-Up
23 Standard Template Library (STL)23.1 Introduction to the Standard Template Library (STL)23.1.1 Introduction to Containers23.1.2 Introduction to Iterators23.1.3 Introduction to Algorithms23.2 Sequence Containers23.2.1 vector Sequence Container23.2.2 list Sequence Container23.2.3 deque Sequence Container23.3 Associative Containers23.3.1 multiset Associative Container23.3.2 set Associative Container23.3.3 multimap Associative Container23.3.4 map Associative Container23.4 Container Adapters23.4.1 stack Adapter23.4.2 queue Adapter23.4.3 priority_queue Adapter23.5 Algorithms23.5.1 fill, fill_n, generate and generate_n23.5.2 equal, mismatch and lexicographical_compare23.5.3 remove, remove_if, remove_copy and remove_copy_if23.5.4 replace, replace_if, replace_copy and replace_copy_if23.5.5 Mathematical Algorithms23.5.6 Basic Searching and Sorting Algorithms23.5.7 swap, iter_swap and swap_ranges23.5.8 copy_backward, merge, unique and reverse23.5.9 inplace_merge, unique_copy and reverse_copy23.5.10 Set Operations23.5.11 lower_bound, upper_bound and equal_range23.5.12 Heapsort23.5.13 min and max23.5.14 STL Algorithms Not Covered in This Chapter23.6 Class bitset23.7 Function Objects23.8 Introduction to STL/CLR23.9 Wrap-Up23.10 STL Web Resources
25 Regular Expressions25.1 Introduction25.2 Simple Regular Expressions and Class Regex25.3 Complex Regular Expressions25.4 Validating User Input with Regular Expressions25.5 Regex Member Functions Replace and Split25.6 Wrap-Up
26 Collections26.1 Introduction26.2 Collections Overview26.3 Class Array and Enumerators26.4 Nongeneric Collections26.4.1 Class ArrayList26.4.2 Class Stack26.4.3 Class Hashtable26.5 Generic Collections26.5.1 Generic Class SortedDictionary26.5.2 Generic Class LinkedList26.6 Wrap-Up
27 Other Topics27.1 Introduction27.2 Other Cast Operators27.3 namespaces27.4 Operator Keywords27.5 mutable Class Members27.6 Pointers to Class Members (. and ->)27.7 Multiple Inheritance27.8 Multiple Inheritance and virtual Base Classes27.9 Variable-Length Argument Lists27.10 Using Command-Line Arguments27.11 Delegates and Events in .NET27.12 Wrap-Up27.13 Creating a Random-Access File
Product Details
P.J. Deitel, H.M. Deitel
VISUAL C++ 2008 HT PROGRAM 2/E
1497
Pearson Prentice Hall
English
2nd
0136151574
9780136151579
![Program Program](/uploads/1/2/6/3/126315529/270481783.jpg)
Book
Paperback
Yes
2007
2007-11-30
United States
United States Edition