20%
38.90
CHF31.10
Download est disponible immédiatement
In just one hour a day, you'll have all the skills you need to begin programming in C++. With this complete tutorial, you'll quickly master the basics, and then move on to more advanced features and concepts. Completely updated for the C++14 standard, with a preview of C++17, this book presents the language from a practical point of view, helping you learn how to use C++ to create faster, simpler, and more efficient C++ applications.
Learn on your own time, at your own pace:
Contents at a Glance
Part I: The Basics
Lesson 1: Getting Started
Lesson 2: The Anatomy of a C++ Program
Lesson 3: Using Variables, Declaring Constants
Lesson 4: Managing Arrays and Strings
Lesson 5: Working with Expressions, Statements, and Operators
Lesson 6: Controlling Program Flow
Lesson 7: Organizing Code with Functions
Lesson 8: Pointers and References Explained
Part II: Fundamentals of Object-Oriented C++ Programming
Lesson 9: Classes and Objects
Lesson 10: Implementing Inheritance
Lesson 11: Polymorphism
Lesson 12: Operator Types and Operator Overloading
Lesson 13: Casting Operators
Lesson 14: An Introduction to Macros and Templates
Part III: Learning the Standard Template Library (STL)
Lesson 15: An Introduction to the Standard Template Library
Lesson 16: The STL String Class
Lesson 17: STL Dynamic Array Classes
Lesson 18: STL list and forward_list
Lesson 19: STL Set Classes
Lesson 20: STL Map Classes
Part IV: More STL
Lesson 21: Understanding Function Objects
Lesson 22: Lambda Expressions
Lesson 23: STL Algorithms
Lesson 24: Adaptive Containers: Stack and Queue
Lesson 25: Working with Bit Flags Using STL
Part V: Advanced C++ Concepts
Lesson 26: Understanding Smart Pointers
Lesson 27: Using Streams for Input and Output
Lesson 28: Exception Handling
Lesson 29: Going Forward
Part VI: Appendixes
Appendix A: Working with Numbers: Binary and Hexadecimal
Appendix B: C++ Keywords
Appendix C: Operator Precedence
Appendix D: ASCII Codes
Appendix E: Answers
Auteur
Siddhartha Rao has two decades of experience in software development and is the Vice President in charge of Security Response at SAP SE. The evolution of C++ convinces Siddhartha that you can program faster, simpler, and more powerful applications than ever before.
Contenu
Part I: The Basics
Lesson 1: Getting Started
A Brief History of C++
Connection to C
Advantages of C++
Evolution of the C++ Standard
Who Uses Programs Written in C++?
Programming a C++ Application
Steps to Generating an Executable
Analyzing Errors and "Debugging"
Integrated Development Environments
Programming Your First C++ Application
Building and Executing Your First C++ Application
Understanding Compiler Errors
What's New in C++?
Lesson 2: The Anatomy of a C++ Program
Parts of the Hello World Program
Preprocessor Directive #include
The Body of Your Program main()
Returning a Value
The Concept of Namespaces
Comments in C++ Code
Functions in C++
Basic Input Using std::cin and Output Using std::cout
Lesson 3: Using Variables, Declaring Constants
What Is a Variable?
Memory and Addressing in Brief
Declaring Variables to Access and Use Memory
Declaring and Initializing Multiple Variables of a Type
Understanding the Scope of a Variable
Global Variables
Naming Conventions
Common Compiler-Supported C++ Variable Types
Using Type bool to Store Boolean Values
Using Type char to Store Character Values
The Concept of Signed and Unsigned Integers
Signed Integer Types short, int, long, and long long
Unsigned Integer Types unsigned short, unsigned int, unsigned long, and unsigned long
long
Avoid Overflow Errors by Selecting Correct Data Types
Floating-Point Types float and double
Determining the Size of a Variable Using sizeof
Avoid Narrowing Conversion Errors by Using List Initialization
Automatic Type Inference Using auto
Using typedef to Substitute a Variable's Type
What Is a Constant?
Literal Constants
Declaring Variables as Constants Using const
Constant Expressions Using constexpr
Enumerations
Defining Constants Using #define
Keywords You Cannot Use as Variable or Constant Names
Lesson 4: Managing Arrays and Strings
What Is an Array?
The Need for Arrays
Declaring and Initializing Static Arrays
How Data Is Stored in an Array
Accessing Data Stored in an Array
Modifying Data Stored in an Array
Multidimensional Arrays
Declaring and Initializing Multidimensional Arrays
Accessing Elements in a Multidimensional Array
Dynamic Arrays
C-style Character Strings
C++ Strings: Using std::string
Lesson 5: Working with Expressions, Statements, and Operators
Statements
Compound Statements or Blocks
Using Operators
The Assignment Operator (=)
Understanding L-values and R-values
Operators to Add (+), Subtract (-), Multiply (*), Divide (/), and Modulo Divide (%)
Operators to Increment (++) and Decrement (--)
To Postfix or to Prefix?
Equality Operators (==) and (!=)
Relational Operators
Logical Operations NOT, AND, OR, and XOR
Using C++ Logical Operators NOT (!), AND (&&), and OR (||)
Bitwise NOT (~), AND (&), OR (|), and XOR (^) Operators
>) and Left Shift ()
Keywords public and private
Abstraction of Data via Keyword private
Constructors
Declaring and Implementing a Constructor
When and How to Use Constructors
Overloading Constructors
Class Without a Default Constructor
Constructor Parameters with Default Values
Constructors with Initialization Lists
Destructor
Declaring and Implementing a Destructor
When and How to Use a Destructor
Copy Constructor
Shallow Copying and Associated Problems
Ensuring Deep Copy Using a Copy Constructor
Move Constructors Help Improve Performance
Different Uses of Constructors and the Destructor
Class That Does Not Permit Copying
Singleton Class That Permits a Single Instance
Class That Prohibits Instantiation on the Stack
Using Constructors to Convert Types
this Pointer
sizeof() a Class
How struct Differs from class
Declaring a friend of a class
union: A Special Data Storage Mechanism
Declaring a Union
Where Would You Use a union?
Using Aggregate Initialization on Classes and Structs
constexpr with Classes and Objects
Lesson 10: Implementing Inheritance
Basics of Inheritance
Inheritance and Derivation…