Limit search to available items
Book Cover
E-book
Author Horton, Ivor.

Title Ivor Horton's beginning Visual C++ 2012 / Ivor Horton
Published Hoboken, N.J. : Wiley ; Chichester : John Wiley [distributor], 2012

Copies

Description 1 online resource (xl, 942 pages) : illustrations
Series Wrox beginning guides
Wrox beginning guides.
Contents Machine generated contents note: ch. 1 Programming With Visual C++ -- Learning with Visual C++ -- Writing C++ Applications -- Learning Desktop Applications Programming -- Learning C++ -- Console Applications -- Windows Programming Concepts -- What Is the Integrated Development Environment? -- Editor -- Compiler -- Linker -- Libraries -- Using the IDE -- Toolbar Options -- Dockable Toolbars -- Documentation -- Projects and Solutions -- Defining a Project -- Debug and Release Versions of Your Program -- Executing the Program -- Dealing with Errors -- Setting Options in Visual C++ -- Creating and Executing Windows Applications -- Creating an MFC Application -- Building and Executing the MFC Application -- Summary -- ch. 2 Data, Variables, and Calculations -- Structure of a C++ Program -- Program Comments -- #include Directive -- Header Files -- Namespaces and the Using Declaration -- main() Function -- Program Statements -- Whitespace -- Statement Blocks -- Automatically Generated Console Programs -- Precompiled Header Files -- Main Function Names -- Defining Variables -- Naming Variables -- Keywords in C++ -- Declaring Variables -- Initial Values for Variables -- Fundamental Data Types -- Integer Variables -- Character Data Types -- Integer Type Modifiers -- Boolean Type -- Floating-Point Types -- Fundamental Types in C++ -- Literals -- Defining Synonyms for Data Types -- Basic Input/Output Operations -- Input from the Keyboard -- Output to the Command Line -- Formatting the Output -- Escape Sequences -- Calculating in C++ -- Assignment Statement -- Arithmetic Operations -- const Modifier -- Constant Expressions -- Program Input -- Calculating the Result -- Displaying the Result -- Calculating a Remainder -- Modifying a Variable -- Increment and Decrement Operators -- Sequence of Calculation -- Operator Precedence -- Type Conversion and Casting -- Type Conversion in Assignments -- Explicit Type Conversion -- Old-Style Casts -- auto Keyword -- Discovering Types -- Bitwise Operators -- Bitwise AND -- Bitwise OR -- Bitwise Exclusive OR -- Bitwise NOT -- Bitwise Shift Operators -- Introducing Lvalues and Rvalues -- Understanding Storage Duration and Scope -- Automatic Variables -- Positioning Variable Declarations -- Global Variables -- Static Variables -- Variables with Specific Sets of Values -- Old Enumerations -- Type-Safe Enumerations -- Namespaces -- Declaring a Namespace -- Multiple Namespaces -- Summary -- ch. 3 Decisions and Loops -- Comparing Values -- if Statement -- Nested if Statements -- Extended if Statement -- Nested if-else Statements -- Logical Operators and Expressions -- Logical AND -- Logical OR -- Logical NOT -- Conditional Operator -- switch Statement -- Unconditional Branching -- Repeating a Block of Statements -- What Is a Loop? -- Variations on the for Loop -- Using the continue Statement -- Floating-Point Loop Counters -- while Loop -- do-while Loop -- Range-Based for Loop -- Nested Loops -- Summary -- ch. 4 Arrays, Strings, and Pointers -- Handling Multiple Data Values of the Same Type -- Arrays -- Declaring Arrays -- Initializing Arrays -- Using the Range-Based for Loop -- Character Arrays and String Handling -- String Input -- Using the Range-Based for Loop with Strings -- Multidimensional Arrays -- Initializing Multidimensional Arrays -- Indirect Data Access -- What Is a Pointer? -- Declaring Pointers -- Address-Of Operator -- Using Pointers -- Indirection Operator -- Why Use Pointers? -- Initializing Pointers -- Pointers to char -- sizeof Operator -- Constant Pointers and Pointers to Constants -- Pointers and Arrays -- Pointer Arithmetic -- Using Pointers with Multidimensional Arrays -- Pointer Notation with Multidimensional Arrays -- Dynamic Memory Allocation -- Free Store, Alias the Heap -- new and delete Operators -- Allocating Memory Dynamically for Arrays -- Dynamic Allocation of Multidimensional Arrays -- Using References -- What Is a Reference? -- Declaring and Initializing Lvalue References -- Using References in a Range-Based for Loop -- Rvalue References -- Library Functions for Strings -- Finding the Length of a Null-Terminated String -- Joining Null-Terminated Strings -- Copying Null-Terminated Strings -- Comparing Null-Terminated Strings -- Searching Null-Terminated Strings -- Summary -- ch. 5 Introducing Structure Into Your Programs -- Understanding Functions -- Why Do You Need Functions? -- Structure of a Function -- Function Header -- Function Body -- return Statement -- Alternative Function Syntax -- Using a Function -- Function Prototypes -- Passing Arguments to a Function -- Pass-by-Value Mechanism -- Pointers as Arguments to a Function -- Passing Arrays to a Function -- Passing Multidimensional Arrays to a Function -- References as Arguments to a Function -- Use of the const Modifier -- Rvalue Reference Parameters -- Arguments to main() -- Accepting a Variable Number of Function Arguments -- Returning Values from a Function -- Returning a Pointer -- Cast-iron Rule for Returning Addresses -- Returning a Reference -- Teflon-Coated Rule: Returning References -- Static Variables in a Function -- Recursive Function Calls -- Using Recursion -- Summary -- ch. 6 More About Program Structure -- Pointers to Functions -- Declaring Pointers to Functions -- Pointer to a Function as an Argument -- Arrays of Pointers to Functions -- Initializing Function Parameters -- Exceptions -- Throwing Exceptions -- Catching Exceptions -- Rethrowing Exceptions -- Exception Handling in the MFC -- Handling Memory Allocation Errors -- Function Overloading -- What Is Function Overloading? -- Reference Types and Overload Selection -- When to Overload Functions -- Function Templates -- Using a Function Template -- Using the decltype Operator -- Example Using Functions -- Implementing a Calculator -- Analyzing the Problem -- Eliminating Blanks from a String -- How the Function Functions -- Evaluating an Expression -- How the Function Functions -- Getting the Value of a Term -- How the Function Functions -- Analyzing a Number -- How the Function Functions -- Putting the Program Together -- How the Function Functions -- Extending the Program -- How the Function Functions -- Extracting a Substring -- How the Function Functions -- Running the Modified Program -- Summary -- ch. 7 Defining Your Own Data Types -- struct in C++ -- What Is a struct? -- Defining a struct -- Initializing a struct -- Accessing the Members of a struct -- IntelliSense Assistance with Structures -- struct RECT -- Using Pointers with a struct -- Accessing Structure Members through a Pointer -- Indirect Member Selection Operator -- Types, Objects, Classes, and Instances -- First Class -- Operations on Classes -- Terminology -- Understanding Classes -- Defining a Class -- Access Control in a Class -- Declaring Objects of a Class -- Accessing the Data Members of a Class -- Member Functions of a Class -- Positioning a Member Function Definition -- Inline Functions -- Class Constructors -- What Is a Constructor? -- Default Constructor -- Default Parameter Values -- Using an Initialization List in a Constructor -- Making a Constructor Explicit -- Private Members of a Class -- Accessing private Class Members -- friend Functions of a Class -- Placing friend Function Definitions Inside the Class -- Default Copy Constructor -- Pointer this -- const Objects -- const Member Functions of a Class -- Member Function Definitions Outside the Class -- Arrays of Objects -- Static Members of a Class -- Static Data Members -- Static Function Members of a Class -- Pointers and References to Objects -- Pointers to Objects -- References to Class Objects -- Implementing a Copy Constructor -- Summary -- ch. 8 More on Classes -- Class Destructors -- What Is a Destructor? -- Default Destructor -- Destructors and Dynamic Memory Allocation -- Implementing a Copy Constructor -- Sharing Memory Between Variables -- Defining Unions -- Anonymous Unions -- Unions in Classes and Structures -- Operator Overloading -- Implementing an Overloaded Operator -- Implementing Full Support for Comparison Operators -- Overloading the Assignment Operator -- Fixing the Problem -- Overloading the Addition Operator -- Overloading the Increment and Decrement Operators -- Overloading the Function Call Operator -- Object Copying Problem -- Avoiding Unnecessary Copy Operations -- Applying Rvalue Reference Parameters -- Named Objects are Lvalues -- Default Class Members -- Class Templates -- Defining a Class Template -- Template Member Functions -- Creating Objects from a Class Template -- Class Templates with Multiple Parameters -- Templates for Function Objects -- Perfect Forwarding -- Using Classes -- Idea of a Class Interface -- Defining the Problem -- Implementing the CBox Class -- Comparing CBox Objects -- Combining CBox Objects -- Analyzing CBox Objects -- Organizing Your Program Code -- Naming Program Files -- Library Classes for Strings -- Creating String Objects -- Concatenating Strings -- Accessing and Modifying Strings -- Comparing Strings -- Searching Strings -- Summary -- ch. 9 Class Inheritance and Virtual Functions -- Object-Oriented Programming Basics -- Inheritance in Classes -- What Is a Base Class? -- Deriving Classes from a Base Class -- Access Control Under Inheritance
Note continued: Constructor Operation in a Derived Class -- Declaring Protected Class Members -- Access Level of Inherited Class Members -- Copy Constructor in a Derived Class -- Preventing Class Derivation -- Class Members as Friends -- Friend Classes -- Limitations on Class Friendship -- Virtual Functions -- What Is a Virtual Function? -- Ensuring Correct Virtual Function Operation -- Preventing Function Overriding -- Using Pointers to Class Objects -- Using References with Virtual Functions -- Incomplete Class Declaration -- Pure Virtual Functions -- Abstract Classes -- Indirect Base Classes -- Virtual Destructors -- Casting Between Class Types -- Nested Classes -- Summary -- ch. 10 Standard Template Library -- What Is the Standard Template Library? -- Containers -- Allocators -- Comparators -- Container Adapters -- Iterators -- Iterator Categories -- SCARY Iterators -- std::begin() and std::end() Functions -- Smart Pointers -- Using unique_ptr Objects -- Using shared_ptr Objects -- Accessing the Raw Pointer in a Smart Pointer -- Casting SmartPointers -- Algorithms -- Function Objects in the STL -- Function Adapters -- Range of STL Containers -- Sequence Containers -- Creating Vector Containers -- Capacity and Size of a Vector Container -- Accessing the Elements in a Vector -- Inserting and Deleting Elements in a Vector -- Insert Operations -- Emplace Operations -- Erase Operations -- Swap and Assign Operations -- Storing Class Objects in a Vector -- Sorting Vector Elements -- Storing Pointers in a Vector -- Array Containers -- Double-Ended Queue Containers -- Using List Containers -- Adding Elements to a List -- Accessing Elements in a List -- Sorting List Elements -- Other Operations on Lists -- Using forward_list Containers -- Using Other Sequence Containers -- Queue Containers -- Priority Queue Containers -- Stack Containers -- tuple Class Template -- Associative Containers -- Using Map Containers -- Storing Objects -- Accessing Objects -- Other Map Operations -- Using a Multimap Container -- More on Iterators -- Using Input Stream Iterators -- Using Inserter Iterators -- Using Output Stream Iterators -- More on Function Objects -- More on Algorithms -- Type Traits and Static Assertions -- Lambda Expressions -- Capture Clause -- Capturing Specific Variables -- Templates and Lambda Expressions -- Naming a Lambda Expression -- Summary -- ch. 11 Windows Programming Concepts -- Windows Programming Basics -- Elements of a Window -- Windows Programs and the Operating System -- Event-Driven Programs -- Windows Messages -- Windows API -- Windows Data Types -- Notation in Windows Programs -- Structure of a Windows Program -- WinMain() Function -- Specifying a Program Window -- Creating a Program Window -- Initializing the Program Window -- Dealing with Windows Messages -- Complete WinMain() Function -- How It Works -- Processing Windows Messages -- WindowProc() Function -- Decoding a Windows Message -- Ending the Program -- Complete WindowProc() Function -- How It Works -- Microsoft Foundation Classes -- MFC Notation -- How an MFC Program Is Structured -- Summary -- ch. 12 Windows Programming With the Microsoft Foundation Classes (MFC) -- MFC Document/View Concept -- What Is a Document? -- Document Interfaces -- What Is a View? -- Linking a Document and Its Views -- Document Templates -- Document Template Classes -- Your Application and MFC -- Creating MFC Applications -- Creating an SDI Application -- MFC Application Wizard Output -- Viewing Project Files -- Viewing Classes -- Class Definitions -- Creating an Executable Module -- Running the Program -- How the Program Works -- Creating an MDI Application -- Running the Program -- Summary -- ch. 13 Working With Menus And Toolbars -- Communicating with Windows -- Understanding Message Maps -- Message Handler Definitions -- Message Categories -- Handling Messages in Your Program -- How Command Messages Are Processed -- Extending the Sketcher Program -- Elements of a Menu -- Creating and Editing Menu Resources -- Adding a Menu Item to the Menu Bar -- Adding Items to the Element Menu -- Modifying Existing Menu Items -- Completing the Menu -- Adding Menu Message Handlers -- Choosing a Class to Handle Menu Messages -- Creating Menu Message Handlers -- Implementing Menu Message Handlers -- Adding Members to Store Color and Element Mode -- Defining Element and Color Types -- Initializing the Color and Element Type Members -- Implementing Menu Command Message Handlers -- Running the Extended Example -- Adding Menu Update Message Handlers -- Coding a Command Update Handler -- Exercising the Update Handlers -- Adding Toolbar Buttons -- Editing Toolbar Button Properties -- Exercising the Toolbar Buttons -- Adding Tooltips -- Summary -- ch. 14 Drawing in a Window -- Basics of Drawing in a Window -- Window Client Area -- Windows Graphical Device Interface -- Working with a Device Context -- Mapping Modes -- MFC Drawing Mechanism -- View Class in Your Application -- OnDraw() Member Function -- CDC Class -- Displaying Graphics -- Drawing in Color -- Drawing Graphics in Practice -- Programming for the Mouse -- Messages from the Mouse -- Wm_Lbuttondown -- Wm_Mousemove -- Wm_Lbuttonup -- Mouse Message Handlers -- Drawing Using the Mouse -- Getting the Client Area Redrawn -- Defining Element Classes -- CElement Class -- CLine Class -- CRectangle Class -- CCircle Class -- CCurve Class -- Completing the Mouse Message Handlers -- Drawing a Sketch -- Running the Example -- Capturing Mouse Messages -- Summary -- ch. 15 Improving The View -- Sketcher Limitations -- Improving the View -- Updating Multiple Views -- Scrolling Views -- Logical Coordinates and Client Coordinates -- Dealing with Client Coordinates -- Using MM_LOENGLISH Mapping Mode -- Deleting and Moving Elements -- Implementing a Context Menu -- Associating a Menu with a Class -- Checking Context Menu Items -- Identifying an Element under the Cursor -- Exercising the Context Menus -- Highlighting Elements -- Drawing Highlighted Elements -- Exercising the Highlights -- Implementing Move and Delete -- Deleting an Element -- Moving an Element -- Updating Other Views -- Getting the Elements to Move Themselves -- Dropping the Element -- Exercising the Application -- Dealing with Masked Elements -- Summary -- ch. 16 Working With Dialogs and Controls -- Understanding Dialogs -- Understanding Controls -- Creating a Dialog Resource -- Adding Controls to a Dialog -- Testing the Dialog -- Programming for a Dialog -- Adding a Dialog Class -- Modal and Modeless Dialogs -- Displaying a Dialog -- Displaying the Dialog -- Code to Close the Dialog -- Supporting the Dialog Controls -- Initializing Dialog Controls -- Handling Radio Button Messages -- Completing Dialog Operations -- Adding Pen Widths to the Document -- Adding Pen Widths to the Elements -- Creating Elements in the View -- Exercising the Dialog -- Using a Spin Button Control -- Adding a Scale Menu Item and Toolbar Button -- Creating the Spin Button -- Controls' Tab Sequence -- Generating the Scale Dialog Class -- Dialog Data Exchange and Validation -- Initializing the Dialog -- Displaying the Spin Button -- Using the Scale Factor -- Scalable Mapping Modes -- Setting the Document Size -- Setting the Mapping Mode -- Implementing Scrolling with Scaling -- Setting Up the Scrollbars -- Working with Status Bars -- Adding a Status Bar to a Frame -- Creating Status Bar Panes -- Updating the Status Bar -- CString Class -- Using an Edit Box Control -- Creating an Edit Box Resource -- Creating the Dialog Class -- Adding the Text Menu Item -- Defining a Text Element -- Implementing the CText Class -- CText Constructor -- Creating a Text Element -- Drawing a CText Object -- Moving a CText Object -- Summary -- ch. 17 Storing and Printing Documents -- Understanding Serialization -- Serializing a Document -- Serialization in the Document Class Definition -- Serialization in the Document Class Implementation -- Serialize() Function -- CArchive Class -- Functionality of CObject-Based Classes -- Macros that Add Serialization to a Class -- How Serialization Works -- How to Implement Serialization for a Class -- Applying Serialization -- Recording Document Changes -- Serializing the Document -- Serializing the Element Classes -- Serialize() Functions for the Element Classes -- Exercising Serialization -- Printing a Document -- Printing Process -- CPrintInfo Class -- Implementing Multipage Printing -- Getting the Overall Document Size -- Storing Print Data -- Preparing to Print -- Cleaning Up after Printing -- Preparing the Device Context -- Printing the Document -- Getting a Printout of the Document -- Summary -- ch. 18 Programming Windows 8 Apps -- Understanding Windows 8 Apps -- Developing Windows 8 Apps -- Windows Runtime Concepts -- WinRT Namespaces -- WinRT Objects -- C++ Component Extensions (C++/CX) -- C++/CX Namespaces -- Defining WinRT Class Types -- Variables of Ref Class Types -- Accessing Members of a Ref Class Object -- Event Handler Functions -- Casting Ref Class References -- extensible Application Markup Language (XAML) -- XAML Elements -- UI Elements in XAML -- Attached Properties -- Parents and Children -- Control Elements -- Layout Elements -- Handling Events for UI Elements -- Creating a Windows 8 App
Note continued: Application Files -- Defining the User Interface -- Creating the Title -- Adding Game Controls -- Creating a Grid to Contain the Cards -- Defining a Card -- Creating a Card -- Adding Event Handling -- Creating All the Cards -- Implementing Game Operations -- Defining the Card Class -- Adding Data Members to the MainPage Class -- Adding Function Members -- Initialize the MainPage Object -- Initializing the Card Pack -- Setting Up the Child Elements of cardGrid -- Initializing the Game -- Shuffling the Cards -- Highlighting the UI Cards -- Handling Card Back Events -- Handling Shape Events -- Recognizing a Win -- Handling Game Control Button Events -- Scaling UI Elements -- Transitions -- Application Startup Transitions -- Storyboard Animations -- Summary
Summary The only book to teach C++ programming with Microsoft Visual Studio! There's a reason why Ivor Horton's Beginning Visual C++ books dominate the marketplace. Ivor Horton has a loyal following who love his winning approach to teaching programming languages, and in this fully updated new edition, he repeats his successful formula. Offering a comprehensive introduction to both the standard C++ language and to Visual C++, he offers step-by-step programming exercises, examples, and solutions to deftly guide novice programmers through the ins and outs of C++ development. Introduces novice programmers
Notes Print version record
SUBJECT Microsoft Visual C++. http://id.loc.gov/authorities/names/n92107146
Microsoft Visual C++ blmlsh
Microsoft Visual C++ fast
Subject C++ (Computer program language)
COMPUTERS -- Programming Languages -- C#
COMPUTERS -- Programming Languages -- Java.
COMPUTERS -- Programming Languages -- Pascal.
C++ (Computer program language)
Form Electronic book
ISBN 9781118983997
1118983998
9781118439418
1118439414
9781621982289
1621982289
9781118417034
1118417038
9781118434314
1118434315
Other Titles Beginning Visual C++ 2012
Ivor Horton's beginning Visual C Plus Plus 2012
Beginning Visual C Plus Plus 2012