Ivor Horton's Beginning Visual C++ 2012
Home > Computing and Information Technology > Computer programming / software engineering > Programming and scripting languages: general > Ivor Horton′s Beginning Visual C++ 2012
Ivor Horton′s Beginning Visual C++ 2012

Ivor Horton′s Beginning Visual C++ 2012

|
     0     
5
4
3
2
1




Out of Stock


Notify me when this book is in stock
About the Book

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 to the current standard, Microsoft Visual C++ 2012, as it is implemented in Microsoft Visual Studio 2012 * Focuses on teaching both the C++11 standard and Visual C++ 2012, unlike virtually any other book on the market * Covers the C++ language and library and the IDE * Delves into new features of both the C++11 standard and of the Visual C++ 2012 programming environment * Features C++ project templates, code snippets, and more Even if you have no previous programming experience, you'll soon learn how to build real-world applications using Visual C++ 2012 with this popular guide.

Table of Contents:
INTRODUCTION xxxv CHAPTER 1: PROGRAMMING WITH VISUAL C++ 1 Learning with Visual C++ 1 Writing C++ Applications 2 Learning Desktop Applications Programming 3 Learning C++ 3 Console Applications 4 Windows Programming Concepts 4 What Is the Integrated Development Environment? 5 The Editor 6 The Compiler 6 The Linker 6 The Libraries 6 Using the IDE 7 Toolbar Options 8 Dockable Toolbars 9 Documentation 10 Projects and Solutions 10 Defining a Project 10 Debug and Release Versions of Your Program 15 Executing the Program 16 Dealing with Errors 18 Setting Options in Visual C++ 19 Creating and Executing Windows Applications 20 Creating an MFC Application 20 Building and Executing the MFC Application 22 Summary 23 CHAPTER 2: DATA, VARIABLES, AND CALCULATIONS 25 The Structure of a C++ Program 26 Program Comments 31 The #include Directive Header Files 32 Namespaces and the Using Declaration 33 The main() Function 34 Program Statements 34 Whitespace 37 Statement Blocks 37 Automatically Generated Console Programs 37 Precompiled Header Files 38 Main Function Names 39 Defining Variables 39 Naming Variables 39 Keywords in C++ 40 Declaring Variables 41 Initial Values for Variables 41 Fundamental Data Types 42 Integer Variables 42 Character Data Types 44 Integer Type Modifi ers 45 The Boolean Type 46 Floating-Point Types 47 Fundamental Types in C++ 47 Literals 48 Defining Synonyms for Data Types 49 Basic Input/Output Operations 50 Input from the Keyboard 50 Output to the Command Line 50 Formatting the Output 51 Escape Sequences 53 Calculating in C++ 55 The Assignment Statement 55 Arithmetic Operations 55 The const Modifi er 58 Constant Expressions 58 Program Input 59 Calculating the Result 59 Displaying the Result 60 Calculating a Remainder 61 Modifying a Variable 61 The Increment and Decrement Operators 62 The Sequence of Calculation 65 Operator Precedence 65 Type Conversion and Casting 66 Type Conversion in Assignments 67 Explicit Type Conversion 68 Old-Style Casts 69 The auto Keyword 69 Discovering Types 70 The Bitwise Operators 70 The Bitwise AND 71 The Bitwise OR 72 The Bitwise Exclusive OR 73 The Bitwise NOT 74 The Bitwise Shift Operators 74 Introducing Lvalues and Rvalues 76 Understanding Storage Duration and Scope 77 Automatic Variables 78 Positioning Variable Declarations 80 Global Variables 80 Static Variables 84 Variables with Specifi c Sets of Values 85 Old Enumerations 85 Type-Safe Enumerations 87 Namespaces 90 Declaring a Namespace 91 Multiple Namespaces 92 Summary 93 CHAPTER 3: DECISIONS AND LOOPS 97 Comparing Values 97 The if Statement 99 Nested if Statements 100 The Extended if Statement 102 Nested if-else Statements 104 Logical Operators and Expressions 106 Logical AND 107 Logical OR 107 Logical NOT 108 The Conditional Operator 109 The switch Statement 111 Unconditional Branching 115 Repeating a Block of Statements 115 What Is a Loop? 116 Variations on the for Loop 118 Using the continue Statement 122 Floating-Point Loop Counters 126 The while Loop 126 The do-while Loop 128 The Range-Based for Loop 129 Nested Loops 130 Summary 133 CHAPTER 4: ARRAYS, STRINGS, AND POINTERS 135 Handling Multiple Data Values of the Same Type 135 Arrays 136 Declaring Arrays 137 Initializing Arrays 140 Using the Range-Based for Loop 142 Character Arrays and String Handling 143 String Input 144 Using the Range-Based for Loop with Strings 146 Multidimensional Arrays 146 Initializing Multidimensional Arrays 147 Indirect Data Access 150 What Is a Pointer? 150 Declaring Pointers 150 The Address-Of Operator 151 Using Pointers 152 The Indirection Operator 152 Why Use Pointers? 152 Initializing Pointers 152 Pointers to char 155 The sizeof Operator 159 Constant Pointers and Pointers to Constants 161 Pointers and Arrays 163 Pointer Arithmetic 164 Using Pointers with Multidimensional Arrays 168 Pointer Notation with Multidimensional Arrays 169 Dynamic Memory Allocation 170 The Free Store, Alias the Heap 170 The new and delete Operators 171 Allocating Memory Dynamically for Arrays 172 Dynamic Allocation of Multidimensional Arrays 175 Using References 176 What Is a Reference? 176 Declaring and Initializing Lvalue References 176 Using References in a Range-Based for Loop 177 Rvalue References 178 Library Functions for Strings 178 Finding the Length of a Null-Terminated String 179 Joining Null-Terminated Strings 179 Copying Null-Terminated Strings 181 Comparing Null-Terminated Strings 182 Searching Null-Terminated Strings 183 Summary 185 CHAPTER 5: INTRODUCING STRUCTURE INTO YOUR PROGRAMS 189 Understanding Functions 189 Why Do You Need Functions? 191 Structure of a Function 191 The Function Header 191 The Function Body 193 The return Statement 193 Alternative Function Syntax 194 Using a Function 194 Function Prototypes 194 Passing Arguments to a Function 198 The Pass-by-Value Mechanism 199 Pointers as Arguments to a Function 200 Passing Arrays to a Function 202 Passing Multidimensional Arrays to a Function 204 References as Arguments to a Function 206 Use of the const Modifi er 208 Rvalue Reference Parameters 210 Arguments to main( ) 212 Accepting a Variable Number of Function Arguments 214 Returning Values from a Function 216 Returning a Pointer 216 A Cast-Iron Rule for Returning Addresses 218 Returning a Reference 219 A Tefl on-Coated Rule: Returning References 222 Static Variables in a Function 222 Recursive Function Calls 224 Using Recursion 227 Summary 227 CHAPTER 6: MORE ABOUT PROGRAM STRUCTURE 231 Pointers to Functions 231 Declaring Pointers to Functions 232 A Pointer to a Function as an Argument 235 Arrays of Pointers to Functions 237 Initializing Function Parameters 238 Exceptions 239 Throwing Exceptions 241 Catching Exceptions 242 Rethrowing Exceptions 244 Exception Handling in the MFC 244 Handling Memory Allocation Errors 245 Function Overloading 247 What Is Function Overloading? 247 Reference Types and Overload Selection 250 When to Overload Functions 251 Function Templates 251 Using a Function Template 251 Using the decltype Operator 254 An Example Using Functions 256 Implementing a Calculator 257 Analyzing the Problem 257 Eliminating Blanks from a String 260 How the Function Functions 260 Evaluating an Expression 260 How the Function Functions 262 Getting the Value of a Term 263 How the Function Functions 264 Analyzing a Number 264 How the Function Functions 266 Putting the Program Together 268 How the Function Functions 269 Extending the Program 269 How the Function Functions 271 Extracting a Substring 271 How the Function Functions 273 Running the Modified Program 273 Summary 274 CHAPTER 7: DEFINING YOUR OWN DATA TYPES 277 The struct in C++ 277 What Is a struct? 278 Defining a struct 278 Initializing a struct 279 Accessing the Members of a struct 279 IntelliSense Assistance with Structures 283 The struct RECT 285 Using Pointers with a struct 285 Accessing Structure Members through a Pointer 286 The Indirect Member Selection Operator 287 Types, Objects, Classes, and Instances 287 First Class 289 Operations on Classes 289 Terminology 290 Understanding Classes 290 Defining a Class 291 Access Control in a Class 291 Declaring Objects of a Class 291 Accessing the Data Members of a Class 292 Member Functions of a Class 294 Positioning a Member Function Defi nition 296 Inline Functions 297 Class Constructors 298 What Is a Constructor? 298 The Default Constructor 300 Default Parameter Values 303 Using an Initialization List in a Constructor 305 Making a Constructor Explicit 306 Private Members of a Class 307 Accessing private Class Members 310 The friend Functions of a Class 310 Placing friend Function Definitions Inside the Class 312 The Default Copy Constructor 313 The Pointer this 314 const Objects 317 const Member Functions of a Class 318 Member Function Definitions Outside the Class 319 Arrays of Objects 320 Static Members of a Class 322 Static Data Members 322 Static Function Members of a Class 325 Pointers and References to Objects 325 Pointers to Objects 326 References to Class Objects 328 Implementing a Copy Constructor 329 Summary 330 CHAPTER 8: MORE ON CLASSES 333 Class Destructors 334 What Is a Destructor? 334 The Default Destructor 334 Destructors and Dynamic Memory Allocation 337 Implementing a Copy Constructor 340 Sharing Memory Between Variables 342 Defining Unions 343 Anonymous Unions 344 Unions in Classes and Structures 345 Operator Overloading 345 Implementing an Overloaded Operator 346 Implementing Full Support for Comparison Operators 350 Overloading the Assignment Operator 354 Fixing the Problem 355 Overloading the Addition Operator 359 Overloading the Increment and Decrement Operators 364 Overloading the Function Call Operator 365 The Object Copying Problem 366 Avoiding Unnecessary Copy Operations 367 Applying Rvalue Reference Parameters 370 Named Objects are Lvalues 372 Default Class Members 377 Class Templates 378 Defining a Class Template 379 Template Member Functions 381 Creating Objects from a Class Template 382 Class Templates with Multiple Parameters 386 Templates for Function Objects 388 Perfect Forwarding 388 Using Classes 392 The Idea of a Class Interface 392 Defining the Problem 393 Implementing the CBox Class 393 Comparing CBox Objects 395 Combining CBox Objects 396 Analyzing CBox Objects 398 Organizing Your Program Code 412 Naming Program Files 413 Library Classes for Strings 414 Creating String Objects 414 Concatenating Strings 416 Accessing and Modifying Strings 420 Comparing Strings 424 Searching Strings 428 Summary 437 CHAPTER 9: CLASS INHERITANCE AND VIRTUAL FUNCTIONS 441 Object-Oriented Programming Basics 441 Inheritance in Classes 443 What Is a Base Class? 443 Deriving Classes from a Base Class 444 Access Control Under Inheritance 447 Constructor Operation in a Derived Class 450 Declaring Protected Class Members 454 The Access Level of Inherited Class Members 457 The Copy Constructor in a Derived Class 458 Preventing Class Derivation 461 Class Members as Friends 462 Friend Classes 464 Limitations on Class Friendship 464 Virtual Functions 464 What Is a Virtual Function? 467 Ensuring Correct Virtual Function Operation 469 Preventing Function Overriding 469 Using Pointers to Class Objects 470 Using References with Virtual Functions 472 Incomplete Class Declaration 473 Pure Virtual Functions 473 Abstract Classes 474 Indirect Base Classes 477 Virtual Destructors 479 Casting Between Class Types 483 Nested Classes 483 Summary 487 CHAPTER 10: THE STANDARD TEMPLATE LIBRARY 491 What Is the Standard Template Library? 491 Containers 492 Allocators 494 Comparators 494 Container Adapters 495 Iterators 495 Iterator Categories 495 SCARY Iterators 497 std::begin( ) and std::end( ) Functions 497 Smart Pointers 497 Using unique-ptr Objects 498 Using shared-ptr Objects 499 Accessing the Raw Pointer in a Smart Pointer 500 Casting SmartPointers 500 Algorithms 500 Function Objects in the STL 501 Function Adapters 502 The Range of STL Containers 502 Sequence Containers 502 Creating Vector Containers 504 The Capacity and Size of a Vector Container 507 Accessing the Elements in a Vector 512 Inserting and Deleting Elements in a Vector 513 Insert Operations 513 Emplace Operations 514 Erase Operations 515 Swap and Assign Operations 515 Storing Class Objects in a Vector 516 Sorting Vector Elements 522 Storing Pointers in a Vector 523 Array Containers 526 Double-Ended Queue Containers 529 Using List Containers 533 Adding Elements to a List 533 Accessing Elements in a List 535 Sorting List Elements 535 Other Operations on Lists 538 Using forward-list Containers 544 Using Other Sequence Containers 546 Queue Containers 546 Priority Queue Containers 549 Stack Containers 555 The tuple Class Template 557 Associative Containers 561 Using Map Containers 561 Storing Objects 562 Accessing Objects 564 Other Map Operations 565 Using a Multimap Container 574 More on Iterators 575 Using Input Stream Iterators 575 Using Inserter Iterators 578 Using Output Stream Iterators 580 More on Function Objects 582 More on Algorithms 584 Type Traits and Static Assertions 587 Lambda Expressions 588 The Capture Clause 589 Capturing Specifi c Variables 590 Templates and Lambda Expressions 591 Naming a Lambda Expression 595 Summary 598 CHAPTER 11: WINDOWS PROGRAMMING CONCEPTS 601 Windows Programming Basics 602 Elements of a Window 602 Windows Programs and the Operating System 604 Event-Driven Programs 605 Windows Messages 605 The Windows API 605 Windows Data Types 606 Notation in Windows Programs 607 The Structure of a Windows Program 608 The WinMain( ) Function 609 Specifying a Program Window 611 Creating a Program Window 613 Initializing the Program Window 615 Dealing with Windows Messages 616 A Complete WinMain( ) Function 620 How It Works 621 Processing Windows Messages 621 The WindowProc( ) Function 622 Decoding a Windows Message 622 Ending the Program 625 A Complete WindowProc( ) Function 625 How It Works 626 The Microsoft Foundation Classes 627 MFC Notation 627 How an MFC Program Is Structured 628 Summary 632 CHAPTER 12: WINDOWS PROGRAMMING WITH THE MICROSOFT FOUNDATION CLASSES (MFC) 635 The MFC Document/View Concept 636 What Is a Document? 636 Document Interfaces 636 What Is a View? 636 Linking a Document and Its Views 637 Document Templates 638 Document Template Classes 638 Your Application and MFC 639 Creating MFC Applications 640 Creating an SDI Application 641 MFC Application Wizard Output 645 Viewing Project Files 647 Viewing Classes 647 The Class Definitions 648 Creating an Executable Module 653 Running the Program 653 How the Program Works 654 Creating an MDI Application 655 Running the Program 656 Summary 657 CHAPTER 13: WORKING WITH MENUS AND TOOLBARS 659 Communicating with Windows 659 Understanding Message Maps 660 Message Handler Definitions 661 Message Categories 662 Handling Messages in Your Program 663 How Command Messages Are Processed 664 Extending the Sketcher Program 664 Elements of a Menu 665 Creating and Editing Menu Resources 665 Adding a Menu Item to the Menu Bar 666 Adding Items to the Element Menu 667 Modifying Existing Menu Items 667 Completing the Menu 668 Adding Menu Message Handlers 668 Choosing a Class to Handle Menu Messages 670 Creating Menu Message Handlers 670 Implementing Menu Message Handlers 672 Adding Members to Store Color and Element Mode 672 Defining Element and Color Types 674 Initializing the Color and Element Type Members 675 Implementing Menu Command Message Handlers 675 Running the Extended Example 676 Adding Menu Update Message Handlers 676 Coding a Command Update Handler 677 Exercising the Update Handlers 678 Adding Toolbar Buttons 678 Editing Toolbar Button Properties 680 Exercising the Toolbar Buttons 681 Adding Tooltips 682 Summary 682 CHAPTER 14: DRAWING IN A WINDOW 685 Basics of Drawing in a Window 685 The Window Client Area 686 The Windows Graphical Device Interface 686 Working with a Device Context 687 Mapping Modes 687 The MFC Drawing Mechanism 689 The View Class in Your Application 689 The OnDraw( ) Member Function 690 The CDC Class 691 Displaying Graphics 691 Drawing in Color 695 Drawing Graphics in Practice 700 Programming for the Mouse 702 Messages from the Mouse 703 WM-LBUTTONDOWN 704 WM-MOUSEMOVE 704 WM-LBUTTONUP 704 Mouse Message Handlers 704 Drawing Using the Mouse 706 Getting the Client Area Redrawn 708 Defining Element Classes 709 The CElement Class 713 The CLine Class 714 The CRectangle Class 717 The CCircle Class 719 The CCurve Class 722 Completing the Mouse Message Handlers 724 Drawing a Sketch 731 Running the Example 732 Capturing Mouse Messages 733 Summary 734 CHAPTER 15: IMPROVING THE VIEW 739 Sketcher Limitations 739 Improving the View 740 Updating Multiple Views 740 Scrolling Views 742 Logical Coordinates and Client Coordinates 744 Dealing with Client Coordinates 745 Using MM-LOENGLISH Mapping Mode 747 Deleting and Moving Elements 748 Implementing a Context Menu 748 Associating a Menu with a Class 750 Checking Context Menu Items 751 Identifying an Element under the Cursor 752 Exercising the Context Menus 754 Highlighting Elements 754 Drawing Highlighted Elements 757 Exercising the Highlights 757 Implementing Move and Delete 758 Deleting an Element 758 Moving an Element 758 Updating Other Views 761 Getting the Elements to Move Themselves 762 Dropping the Element 764 Exercising the Application 765 Dealing with Masked Elements 765 Summary 767 CHAPTER 16: WORKING WITH DIALOGS AND CONTROLS 769 Understanding Dialogs 770 Understanding Controls 770 Creating a Dialog Resource 771 Adding Controls to a Dialog 771 Testing the Dialog 773 Programming for a Dialog 773 Adding a Dialog Class 773 Modal and Modeless Dialogs 774 Displaying a Dialog 775 Displaying the Dialog 776 Code to Close the Dialog 776 Supporting the Dialog Controls 777 Initializing Dialog Controls 778 Handling Radio Button Messages 779 Completing Dialog Operations 780 Adding Pen Widths to the Document 780 Adding Pen Widths to the Elements 781 Creating Elements in the View 783 Exercising the Dialog 784 Using a Spin Button Control 785 Adding a Scale Menu Item and Toolbar Button 785 Creating the Spin Button 786 The Controls Tab Sequence 786 Generating the Scale Dialog Class 787 Dialog Data Exchange and Validation 788 Initializing the Dialog 789 Displaying the Spin Button 790 Using the Scale Factor 791 Scalable Mapping Modes 791 Setting the Document Size 793 Setting the Mapping Mode 793 Implementing Scrolling with Scaling 795 Setting Up the Scrollbars 796 Working with Status Bars 797 Adding a Status Bar to a Frame 797 Creating Status Bar Panes 798 Updating the Status Bar 800 The CString Class 801 Using an Edit Box Control 802 Creating an Edit Box Resource 803 Creating the Dialog Class 804 Adding the Text Menu Item 805 Defining a Text Element 806 Implementing the CText Class 807 The CText Constructor 807 Creating a Text Element 807 Drawing a CText Object 809 Moving a CText Object 810 Summary 812 CHAPTER 17: STORING AND PRINTING DOCUMENTS 815 Understanding Serialization 815 Serializing a Document 816 Serialization in the Document Class Defi nition 816 Serialization in the Document Class Implementation 817 The Serialize( ) Function 818 The CArchive Class 818 Functionality of CObject-Based Classes 820 The Macros that Add Serialization to a Class 821 How Serialization Works 821 How to Implement Serialization for a Class 823 Applying Serialization 823 Recording Document Changes 823 Serializing the Document 825 Serializing the Element Classes 827 The Serialize( ) Functions for the Element Classes 829 Exercising Serialization 831 Printing a Document 833 The Printing Process 833 The CPrintInfo Class 835 Implementing Multipage Printing 837 Getting the Overall Document Size 838 Storing Print Data 838 Preparing to Print 839 Cleaning Up after Printing 841 Preparing the Device Context 841 Printing the Document 842 Getting a Printout of the Document 846 Summary 847 CHAPTER 18: PROGRAMMING WINDOWS 8 APPS 849 Understanding Windows 8 Apps 850 Developing Windows 8 Apps 851 Windows Runtime Concepts 852 WinRT Namespaces 852 WinRT Objects 852 C++ Component Extensions (C++/CX) 853 C++/CX Namespaces 853 Defining WinRT Class Types 854 Variables of Ref Class Types 857 Accessing Members of a Ref Class Object 857 Event Handler Functions 858 Casting Ref Class References 858 The eXtensible Application Markup Language (XAML) 859 XAML Elements 859 UI Elements in XAML 861 Attached Properties 864 Parents and Children 865 Control Elements 865 Layout Elements 865 Handling Events for UI Elements 866 Creating a Windows 8 App 867 Application Files 867 Defining the User Interface 868 Creating the Title 870 Adding Game Controls 872 Creating a Grid to Contain the Cards 874 Defining a Card 875 Creating a Card 875 Adding Event Handling 877 Creating All the Cards 878 Implementing Game Operations 879 Defining the Card Class 880 Adding Data Members to the MainPage Class 881 Adding Function Members 882 Initialize the MainPage Object 883 Initializing the Card Pack 884 Setting Up the Child Elements of cardGrid 884 Initializing the Game 886 Shuffl ing the Cards 889 Highlighting the UI Cards 889 Handling Card Back Events 890 Handling Shape Events 892 Recognizing a Win 894 Handling Game Control Button Events 895 Scaling UI Elements 897 Transitions 899 Application Startup Transitions 899 Storyboard Animations 900 Summary 902 INDEX 905


Best Sellers


Product Details
  • ISBN-13: 9781118368084
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: Wrox Press
  • Height: 232 mm
  • No of Pages: 942
  • Weight: 1638 gr
  • ISBN-10: 1118368088
  • Publisher Date: 02 Oct 2012
  • Binding: Paperback
  • Language: English
  • Spine Width: 45 mm
  • Width: 188 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Ivor Horton′s Beginning Visual C++ 2012
John Wiley & Sons Inc -
Ivor Horton′s Beginning Visual C++ 2012
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Ivor Horton′s Beginning Visual C++ 2012

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!