-
Abstract and Interface Classes
A C++ abstract class is a base class that defines a pure virtual function; or virtual function reliant on child classes; to provide its implementation. In this video; Brigitte Birze demonstrates the power of abstract classes by creating a pure virtual function; the implementation of which is defined by child classes.
-
Allocating and Releasing Dynamic Memory
C++ provides vast improvements over C that allow you to dynamically allocate variables; and then explicitly tell the program to free the memory for reuse when you're done with the variable. In this video; Brigitte Birze demonstrates the advantages of dynamically allocating and returning memory to the free store compared to the old way of allocating memory from the heap.
-
Allocating and Releasing Objects
C++ allows developers to allocate and release instantiated objects using dynamic memory. In this video; Brigitte Birze demonstrates how to use the C++ new and delete commands (instead of malloc and free) to call constructors and destructors dynamically. She also covers object scope and how to pass objects so they remain in scope.
-
Assert
In C and C++; the assert macro is a useful development tool that allows you to identify program errors by alerting you when an argument expression is false and providing useful information. In this video; Brigitte Birze demonstrates how to debug code using an assert macro and how to disable the assert before going to production using DEBUG.
-
Assignment Operators
The C++ equal sign assignment operator assigns a right-hand side expression (rvalue) to the left-hand side expression (lvalue). In this video; Brigitte Birze demonstrates the properties of the equal sign assignment operator and its use.
-
C++ and the GNU Compiler Collection (GCC)
C and C++ provide tools and configuration options that you can use to compile and link a program from the command line. In this video; Brigitte Birze demonstrates how to use the GNU C++ compiler; or GCC; to compile an executable file from the command line.
-
C++ Comments and Whitespace
C++ allows developers to insert C/C+ block comments as well as inline comments in their code. In this video; Brigitte Birze demonstrates how to work with block comments; inline comments; tabs; and whitespace to ensure that the code remains easily readable while explaining algorithms; functions; and useful inline information.
-
C++ Data Types
C++ provides you with seven built-in data types of a set size to use for your declared functions and variables. In this video; Brigitte Birze demonstrates the sizes and uses of C++'s built-in data types; and how to declare them.
-
C++ Enumerators
C++ allows you to define enumerations; or data types set to a defined set of named constants; as user defined data types. In this video; Brigitte Birze demonstrates the structure and syntax of enumerated data types and their use by building a dinner menu in simple English.
-
C++ Functions
C++ functions allow you to assign names to sequences of statements; which you can then execute by invoking the function. In this video; Brigitte Birze demonstrates the structure of syntax of C++ functions; before invoking multiple declared function types.
-
C++ I/O Streams
C++ allows developers to perform I/O using streams which form an abstraction between the user and the media used to read and write data. In this video; Brigitte Birze demonstrates how to work with the three basic I/O streams of cout; cin; and cerr; and how to use them to write to and read from the console.
-
C++ Projects in Eclipse
In the Eclipse CDT for C++ development; the workbench is an easily customizable; integrated environment which includes a range of useful features you can take advantage of while working on your projects. In this video; Brigitte Birze demonstrates the layout of the workbench; and creates a sample project to illustrate some of the included features.
-
C++ Projects in Visual Studio
In C++ development; the Visual Studio IDE readily integrates the .NET framework with Microsoft Windows. In this video; Brigitte Birze demonstrates how to setup a C++ project in Visual Studio; switch solutions; run and debug projects; and create a new project from scratch.
-
C++ Syntax Differences From C
In C and C++; you use the same programming structure; but there are a few key differences. In this video; Brigitte Birze explains the syntax differences between C and C++.
-
C++ Tokens; Digraph and Trigraph Sequences
In C++; digraphs and trigraphs are sequences of two and three characters respectively that you can use when the keyboard does not include keys to cover the entire character set of the language. In this video; Brigitte Birze demonstrates how to implement digraph and trigraph sequences in your code; allowing the preprocessor to translate them into the appropriate symbol.
-
Chaining Constructors
Understanding how C++ allows you to chain constructors when instantiating an object in a hierarchy of classes can help you to avoid errors when creating a complex object containing multiple classes. In this video; Brigitte Birze uses a three class hierarchy to demonstrate how constructors are chained in C++.
-
Chaining Destructors
In C++; when you have a hierarchy of classes; each with its own destructor; you can chain the destructors to ensure that the destructor in every class in the hierarchy is called when the object is freed. In this video; Brigitte Birze demonstrates how to use the virtual keyword to chain destructors in a class hierarchy and avoid leaking memory.
-
Compound Assignment Operators
C++ Compound Assignment Operators allow you to perform arithmetic or bitwise operations on a variable and assign the result to the same variable. In this video; Brigitte Birze demonstrates C++'s multiple compound assignment variables; before using each compounded operator to perform an operation.
-
Configuring C++ Toolchains in Eclipse
In the Eclipse CDT for C++; you need to enable toolchains to provide the C++ compilers; linkers; libraries; and utilities you will need to fully develop your application. In this video; Brigitte Birze demonstrates how to access a range of toolchains suitable for use with different platforms; such as Windows or Linux; and add one to a project.
-
Creating New Data Types
C++ allows you to use aliases; enumerated data types; and structs; as well as create new classes; to build more complex data types than those offered by the seven in-built data types and their modifiers. In this video; Brigitte Birze demonstrates the structure and function of each; before instantiating and outputting an example of each.
-
Data Type Modifiers
C++ provides you with four modifiers that allow you to modify either the size of its seven built-in data types; or how they are interpreted by the compiler. In this video; Brigitte Birze demonstrates C++'s four data type modifiers and how to combine them with its data types to achieve a desired size and behavior.
-
Default Function Arguments
C++ allows developers to specify default arguments for functions; whereby they define a general case that can be overridden by the calling code. In this video; Brigitte Birze demonstrates how to define default arguments; how to override them in code; and notes that default arguments defined in a function declaration cannot be overridden.
-
Dynamically Allocated Arrays and Pointer Access
C++ allows you to access the elements of a dynamically allocated array via pointers and pointer arithmetic. In this video; Brigitte Birze demonstrates how arrays on the stack differ from arrays allocated dynamic memory accessed via a pointer; and shows you how to allocate; point to; and initialize dynamic memory to an array before deleting it.
-
File I/O Stream Classes
C++ allows developers to use stream classes for file input and output; in addition to the basic I/O provided by cin; cout; and cerr. In this video; Brigitte Birze demonstrates how to use ofstream; ifstream; and fstream; which are derived from istream and ostream; and warns that these classes don't open files automatically.
-
Handling Exceptions
C++ provides an elegant way to react to exceptional circumstances in your program by transferring control to an exception handler. In this video; Brigitte Birze demonstrates how to enclose code in a try-catch block to inspect for exceptions and then throw any exceptions that arise to exception handlers.
-
Headers and Source Files
In C++; you can break your code out into a series of source and header files to make working with large applications more manageable. In this video; Brigitte Birze demonstrates how to divide the code into header and source file pairs; allowing an object to be modified without requiring recompilation of the code that uses it.
-
Inline Functions
C++ provides the inline function that eliminates function overhead and optimizes your code by instructing the compiler to place a copy of the function's code at each point where the function is called at compile time. In this video; Brigitte Birze demonstrates how to define an inline function; and highlights some of the advantages inline functions have over macros.
-
Memory Allocation and Scope
In C++; allocating memory when a variable is declared determines its scope which is vital knowledge when accessing each of the variable types. In this video; Brigitte Birze demonstrates how global; static; dynamic; and local variables are allocated memory and how their persistency is determined by their scope.
-
Nothing Statements and Scope
C++ allows you to define multiple variables with the same name; provided the names are declared in different regions of the program called the scope of the name. In this video; Brigitte Birze demonstrates the different levels of scope and how they affect variables when implementing nested statements in your program.
-
Null Terminated Strings
Using the end of string (EOS) character; C++ allows you to successfully create and use null terminated strings in character arrays. In this video; Brigitte Birze demonstrates how to run a character array without the EOS; allowing it to write beyond its allocated memory; endangering the program; then includes the EOS character and reruns the array without error.
-
Objects and Function Arguments
C++ allows you to pass class objects as arguments to functions just like any other variable; and protect the state of the object by making the function argument a constant. In this video; Brigitte Birze demonstrates how to pass an object by value; by pointer; and by reference; and how to use the const keyword to protect an object.
-
Operator Overloading
C++ allows developers to overload operators to change their implementation according to their arguments. In this video; Brigitte Birze demonstrates how to use operator overloading to change how a user-defined type and a C++ operator interact; the conditions under which operator overloading works; and warns that operator overloading can make code difficult to read and understand.
-
Overloaded Functions
C++ allows you to create overloaded functions; multiple functions with the same name that have different parameters; thereby reducing program complexity and making the code easier to read. In this video; Brigitte Birze demonstrates how to define a parameter list; explains how the preprocessor implements name mangling; and illustrates using overloaded functions.
-
Overloading New and Delete
C++ allows developers to control the location of memory allocated to objects using the new function. In this video; Brigitte Birze demonstrates how to avoid allocating global- or system-shared memory by overloading the new and delete functions. She also demonstrates that allocating static storage upfront speeds up the code; and how using overloaded new and delete can trace memory bugs.
-
Pointers as Function Arguments
C++ allows you to determine how changes to the parameter in a function will affect the variables in the calling code by utilizing pointers to pass function arguments. In this video; Brigitte Birze demonstrates how to modify function arguments in C++ by passing a variable by value; by pointer; and by a reference to a pointer.
-
References
References were introduced in C++ to allow you to establish a name as an alias for an existing variable that can never be changed as long as that code remains in scope. In this video; Brigitte Birze demonstrates how to declare and use reference variables while highlighting their similarities and differences with pointers.
-
References as Function Arguments
C++ allows you to pass an argument to a function by reference; which is more efficient than passing by value because it doesn't copy the argument. In this video; Brigitte Birze demonstrates how to pass an argument by reference while highlighting how this differs from passing by value and passing by pointer.
-
References as Function Return Values
In C++; references can be declared as the return value to a function. This is valuable when doing object-oriented programming. In this video; Brigitte Birze demonstrates how to use a reference to place a function call as the lvalue to an assignment operator.
-
Relational and Logical Operators
C++ allows you to compare the equality or inequality of variables and perform AND; OR; and NOT actions using relational operators and logical operators; respectively. In this video; Brigitte Birze demonstrates how to best use these operators and their operator precedence.
-
String Class (std:string)
The string class in C++ provides automatic memory allocation and frees up memory. In this video; Brigitte Birze demonstrates how to use the C++ string class to increase memory efficiency during your project's development.
-
The C++ Preprocessor
The C++ preprocessor allows you to massage your code and perform substitutions before processing by the compiler. In this video; Brigitte Birze demonstrates how the C++ preprocessor includes header files; performs macro expansions; and enables conditional compilation.
-
The C++ Program Structure
In C and C++; you use the same programming structure; so knowing C will give you an advantage when learning C++. In this video; Brigitte Birze uses C++ to break down a complete C++ program.
-
The Copy Constructor
In C++; the copy constructor is a special kind of constructor which is used to create a copy of an already existing object of a class type. In this video; Brigitte Birze demonstrates the need for a copy constructor when passing a function by value and how to control what is copied by defining your own copy constructor.
-
The Do While Loop
In C++; the do-while loop is similar to the while loop; except that test conditions occur at the bottom of the loop; which guarantees that your block of code will execute at least one time. In this video; Brigitte Birze demonstrates the do-while loop's syntax; and uses a do-while loop to initialize an array; perform computation; and test user input.
-
The For Loop
In C++; the for loop is the most common loop that allows you to perform a sequence of statements a specific number of times while a condition holds true. In this video; Brigitte Birze demonstrates how to initialize a for loop to process an array; before highlighting the use of null statements in for loops and nested for loops.
-
The If Statement
In C++; the if statement allows you to control the flow of your program and make decisions on what code to execute based on whether a given condition is true or false. In this video; Brigitte Birze uses the if statement to provide conditional branching and change an application's path based on the value of an expression.
-
The While Loop
The while loop is the simplest loop in C++; allowing programs to repeatedly execute a statement or block of code as long as a certain test condition is true. In this video; Brigitte Birze uses a while loop to initialize an array; perform a computation; and control user input; and demonstrates how to break out of a while loop.
-
Using Const with Function Arguments
In C++; you can use const to protect a parameter if you don't want a function to change the value of a parameter. In this video; Brigitte Birze demonstrates how to use const to protect the value of arguments or pointers.
-
Using Const with Pointers
In C++; const can be used in a pointer declaration to make a constant of the pointer addressed or the value it’s pointing to. In this video; Brigitte Birze demonstrates how to use const with pointers to protect what the pointer is pointing to and its value; as well as protect where the pointer is actually pointing to.
-
Using Const with Variables
You can use the C++ const modifier in a variable declaration to make the variable a constant. In this video; Brigitte Birze demonstrates how to use the const keyword to create a constant value in C++.
-
Using Date and Time in C++
C++ inherits date and time functions from C that allow you to manipulate the system time and format the output in your C++ program. In this video; Brigitte Birze demonstrates how to work with date and time in C++ using some of the important functions that are part of the standard library.
-
Using Pointer
C++ pointers are variables holding the addresses of values in memory; including variables; objects; or structs. In this video; Brigitte Birze demonstrates how to define a pointer and details its unique operators.
-
UTF-16; UTF-32 and Wide Characters
The 2011 ISO C++ standard introduced the use of the fixed-width 16-bit and 32-bit character types to accommodate large international character sets. In this video; Brigitte Birze uses the standard C++ 8-bit ANSI character set; the compiler-specific wchar_t data type; and configures her compiler to recognize and output the new platform-independent character types.
-
Virtual Functions
C++ virtual functions allow polymorphism whereby a single object type of a class may display different behaviors to the same input. In this video; Brigitte Birze demonstrates a virtual function of a base class; implementations of which are given different behaviors by children of the base class.
-
Wide String Class (std:wstring)
The C++ Wide String Class allows you to hold strings that require more than eight bits per character; and provides automatic memory allocation along with a set of string manipulation methods. In this video; Brigitte Birze demonstrates how to use the Wide String class to perform a range of tasks.
-
Accessing Array Members
In C++ programming; memory is managed manually and is not done by the complier. In this video; Mark Lassoff discusses how to access array members in C++.
-
Adding Private Members to Classes
In C++; you can create private classes; methods; and properties within the base class. In this video; Mark Lassoff demonstrates how to create private class members.
-
Adding Protected Members to Classes
In C++; you can use inheritance to protect members of a base class to keep them private. In this video; Mark Lassoff demonstrates how to code protected members in C++.
-
Adding Public Members to Classes
In C++; usually the class properties are private and methods are public. For a class to be accessible to other classes; it must have some public members. In this video; Mark Lassoff demonstrates how to create public members in a class.
-
Creating a Class Constructor
Constructors are an important part of class design and are used to initialize the properties of the class before the class is actually used. In this video; Mark Lassoff demonstrates how to construct a class with a constructor.
-
Creating a Class Deconstructor
In C++; you can execute a deconstructor when a class or objects of that class pass out of scope within the program; or when memory for that class is deallocated. In this video; Mark Lassoff demonstrates how to create a deconstructor within a class in C++.
-
Creating a Namespace Alias
In C++ programming; alias can be created for the namespaces and used instead of it. In this video; Mark Lassoff demonstrates how to create and use namespace alias in C++.
-
Creating an Array of Pointers
In C++ programming creating an array of pointers is possible. In this video; Mark Lassoff discusses how to write a code to create an array of pointers.
-
Creating Classes Defined with struct
A structure (struct) is more common in C than in C++. In this video; Mark Lassoff demonstrates how to create a class defined with struct.
-
Creating Classes Defined with union
In C++; a union is associated with a discriminator variable; which states which properties are valid within a class. In this video; Mark Lassoff demonstrates how to create a class defined with a union.
-
Creating Multi-dimensional Arrays
In C++ programming; you can create multi-dimensional arrays that allow you to create grids of data. In this video; Mark Lassoff discusses multi-dimensional arrays in C++.
-
Creating Pointers to Classes
In C++; you have to pass classes or instances of classes to other classes within the program. In this video; Mark Lassoff demonstrates how to create pointers to classes in C++.
-
C-style Strings
In C++ programming; many legacy codes use C-style string functions. In this video; Mark Lassoff demonstrates how to use the C-style string in C++.
-
Declaring a Namespace
In C++ programming; classes can be declared within a namespace. The namespace avoids collision with other classes that have similar function names. In this video; Mark Lassoff demonstrates how to declare a namespace.
-
Declaring and Initializing Arrays
In C++ programming; arrays are an important data structure. In this video; Mark Lassoff discusses how to create and initialize an array.
-
Declaring and Using Pointers in C++
In C++ programming; you have to understand the operators that are associated with pointers. In this video; Mark Lassoff demonstrates how to declare pointers.
-
Declaring Class Templates
In C++ programming; classes can be created using the class templates that can work with multiple data types. In this video; Mark Lassoff demonstrates how to declare a class template in C++.
-
Declaring Friend Classes
C++ programming lets you design your objects within a program and make a class accessible publicly or privately. In this video; Mark Lassoff discusses how to use the friend keyword in C++.
-
Declaring Friend Functions
The unique friend function in C++ allows you to access a class’s private members and methods; from within outside the class. In this video; Mark Lassoff demonstrates how to code a program using the friend function.
-
Declaring Function Templates
In C++ programming; function templates can be used to make the functions more flexible and to work with multiple data types. In this video; Mark Lassoff demonstrates how to declare a function template in C++.
-
Executing C++ Pointer Arithmetic
In C++ programming pointer arithmetic is used to know the next available memory address for an object. In this video; Mark Lassoff discusses how to create a pointer arithmetic.
-
Overloading Operators in Classes
In C++; you can overload the operators to change their meaning by using functions. In this video; Mark Lassoff demonstrates how to use functions to overload operators.
-
Passing Arrays to Functions
In C++ programming; the creation of code gives access to utility functions that work on arrays. In this video; Mark Lassoff discusses how create a code to pass arrays to a utility function.
-
Passing Pointers to Functions
In C++ programming it is not efficient to directly pass a multidimensional array to a function. In this video; Mark Lassoff discusses how to pass a function to a pointer.
-
Returning Arrays from Functions
In C++ programming allows you to return arrays from functions by value or pointer. In this video; Mark Lassoff discusses the best methods for returning arrays.
-
Returning Pointers from Functions
C++ is an object oriented programming language. In this video; Mark Lassoff discusses how to return a pointer from a function.
-
Setting a Pointer to an Array
In C++; you can create a pointer to a multi-dimensional array to pass the array from one function to another. In this video; Mark Lassoff discusses how to create a pointer to an array.
-
Static Members of Classes
In C++; static members of classes are not expressed in the instances of the class but from within the class itself. In this video; Mark Lassoff discusses a static member and the syntax used to express it in C++.
-
The std Namespace
In C++ programming; the std namespace contains the commands and headers that are frequently used like cout; iostream; string; and regex. In this video; Mark Lassoff demonstrates how to use the std namespace in C++.
-
The STL <chrono> Header
In C++; the chrono header is used to write programs that deal with time. In this video; Mark Lassoff discusses the chrono header in C++.
-
The STL <exception> Header
In C++ programming; the exception header provides several different types and methods to handle conditions that cause error. In this video; Mark Lassoff discusses the methods available in the exception header.
-
The STL <random> Header
In C++ programming; the rand function can be used to generate a random number. The rand function is available with the random header library in C++ 2011 standard. In this video; Mark Lassoff demonstrates how to use the rand function to generate random numbers in C++.
-
The STL <regex> Header
In C++ programming; regular expressions for string pattern matching can be implemented using the regex library. In this video; Mark Lassoff demonstrates how to use the regex library functions in C++.
-
The STL <string> Header
In C++ programming; functions that can be performed on a string are available in the string library. In this video; Mark Lassoff demonstrates how to use the string library in C++.
-
The STL <tuple> Header
In C++ programming; tuples are a list that can contain a set of primitive data types. The tuple library has several functions that can be used to work on tuples. In this video; Mark Lassoff demonstrates how to use the tuple library functions in C++.
-
Understanding Pointers
In C++ programming knowing what pointers are and how to use them is very important. In this video; Mark Lassoff discusses pointers and how they are used.
-
Understanding Traditional Inheritance
C++ programming was the first language that used traditional inheritance. In this video; Mark Lassoff discusses how to create traditional inheritance in C++.
-
Using a Namespace
In C++ programming; you can use classes within a namespace. In this video; Mark Lassoff demonstrates how to add namespace and use it in the code.
-
Using C++ Null Pointers
In C++ programming; a null pointer is a special type of pointer that does not point to any specific memory address. In this video; Mark Lassoff discusses the null pointer.
-
Using Class Templates
In C++ programming; classes can be declared as templates to work with multiple data types. In this video; Mark Lassoff demonstrates how to use the class template in C++.
-
Using Function Templates
In C++ programming; function templates are used to work with multiple data types. In this video; Mark Lassoff demonstrates how to use the function template in C++.
-
Using Multiple Inheritance
C++ programming allows for multiple inheritances from multiple parent classes. In this video; Mark Lassoff discusses how multiple inheritances work.
-
Working with Default Constructors
In C++ progamming; while working with a number of overloaded constructors within a class; you will need a default constructor for executing the class. In this video; Mark Lassoff demonstrates how to code a default constructor in C++.
-
Working with Overloaded Constructors
In C++; you may need to use overloaded constructors to pass many properties of different data types to a constructor. In this video; Mark Lassoff demonstrates how to code overloaded constructors.
-
forward_list
In C++; the forward_list is an efficient data structure; optimized for traversing your list of data in the forward direction. In this video; Mark Lassoff discusses the forward_list STL Container in C++.
-
list
For developers working with lists all the time; there is an STL container called "list" in C++ that is perfect for working with lists of data. In this video; Mark Lassoff discusses how to code lists in C++.
-
map
The map in C++ is an STL container is optimized to use key value pairs. In this video; Mark Lassoff discusses how to use maps in C++.
-
queue
In C++ it’s easy to garner information using the STL Container "queue". You can push values on to the queue; get the size of the queue; and find out what value is at the front or back of the queue data at any given time. In this video; Mark Lassoff discusses how to use queues in C++.
-
set
In C++; the STL container “set” is used when you have data where each member needs to be unique. In this video; Mark Lassoff discusses the code for "set" in C++.
-
stack
In C++; a stack is a commonly used STL container. It is used to manage data that is last in; first out. In this video; Mark Lassoff discusses how to code stacks in C++.
-
vector
In C++ by using vectors; the memory for the object is managed by the container itself. This means that you don’t need to allocate memory if the size of your array changes. In this video; Mark Lassoff discusses the use of vectors in C++.
-
Binary Files
Not all files can be saved as text; audio files or images for example; need to be saved as binaries. In this video; Mark Lassoff discusses processing binary files in C++.
-
Encryption
In C++ there are a number of encryption libraries that can be used to encrypt data. In this video; Mark Lassoff discusses how to encrypt data manually using standard C++ code.
-
Input Streams
Input streams are an important concept in C++. Without input streams it would not be possible to receive any type of input from the user. In this video; Mark Lassoff discusses how to code for input streams.
-
Output Streams
In C++ you don’t have to program how content appears on the screen; you can use an output stream for this. In this video; Mark Lassoff discusses how to code for output streams.
-
Stream Pointers
Streams are a very important abstraction in C++. Streams go between the C++ environment and the computing environment that the user interacts with. In this video; Mark Lassoff discusses the concept of stream pointers.
-
Text Files
C++ is a programming language that allows for the easy manipulation of text files. In this video; Mark Lassoff discusses the text file interface for C++.
-
Creating a Basic C++ Application
After watching this video; you will be able to create a basic C++ application.
-
Using C++ Functions; Exceptions; Strings
After watching this video; you will be able to create an application that uses C++ functions; exceptions; and strings.
-
Working with C++ OOP Basics
After watching this video; you will be able to create an application that incorporates OOP techniques.
-
Arithmetic Binary Functors
After watching this video; you will be able to demonstrate how to use arithmetic binary functors: plus; minus; multiplies; divides; modulus.
-
Exercise: Working with Algorithms in C++
After watching this video; you will be able to demonstrate how to work with modifying and non-modifying algorithms in C++.
-
Introduction to Functors in C++
After watching this video; you will be able to describe what functors are and their uses.
-
Introduction to STL Algorithms in C++
After watching this video; you will be able to describe the key features of STL algorithms including non-modifying vs. modifying..
-
Logical Binary Functors
After watching this video; you will be able to demonstrate how to use logical_and; logical_or binary functors.
-
Relational Binary Functors
After watching this video; you will be able to demonstrate how to use relational binary functors: equal_to; not_equal_to; greater; greater_equal; less; less_equal.
-
Unary Functors
After watching this video; you will be able to demonstrate how to use negate and logical_not functors.
-
Using Modifying Algorithms with Containers
After watching this video; you will be able to demonstrate how to use modifying algorithms with containers.
-
Using Non-modifying Algorithms with Containers
After watching this video; you will be able to demonstrate how to use non-modifying algorithms with containers.
-
Using std::adjacent_find in C++
After watching this video; you will be able to use std::adjacent_find in C++.
-
Using std::binary_search in C++
After watching this video; you will be able to use std::binary_search in C++.
-
Using std::copy and copy_backward in C++
After watching this video; you will be able to use std::copy and copy_backward in C++.
-
Using std::count and count_if in C++
After watching this video; you will be able to use std::count and count_if in C++.
-
Using std::equal_range in C++
After watching this video; you will be able to use std::equal_range in C++.
-
Using std::fill and fill_n in C++
After watching this video; you will be able to use std::fill and fill_n in C++.
-
Using std::find_end in C++
After watching this video; you will be able to use the std::find_end in C++.
-
Using std::find_first_of in C++
After watching this video; you will be able to use the std::find_first_of in C++.
-
Using std::generate and generate_n in C++
After watching this video; you will be able to use std::generate and generate_n in C++.
-
Using std::includes
After watching this video; you will be able to use std::includes.
-
Using std::inplace_merge
After watching this video; you will be able to use std::inplace_merge.
-
Using std::iter_swap in C++
After watching this video; you will be able to use std::iter_swap in C++.
-
Using std::lower_bound and upper_bound in C++
After watching this video; you will be able to use std::lower_bound and upper_bound in C++.
-
Using std::merge
After watching this video; you will be able to use std::merge.
-
Using std::min_element and max_element
After watching this video; you will be able to use std::min_element and max_element.
-
Using std::mismatch and equal in C++
After watching this video; you will be able to use std::mismatch and equal in C++.
-
Using std::partition and stable_partition in C++
After watching this video; you will be able to use std::partition and stable_partition in C++.
-
Using std::random_shuffle in C++
After watching this video; you will be able to use std::random_shuffle in C++.
-
Using std::remove and remove_if in C++
After watching this video; you will be able to use std::remove and remove_if in C++.
-
Using std::replace in C++
After watching this video; you will be able to use std::replace in C++.
-
Using std::reverse and reverse_copy in C++
After watching this video; you will be able to use std::reverse and reverse_copy in C++.
-
Using std::rotate in C++
After watching this video; you will be able to use std::rotate in C++.
-
Using std::search and search_n in C++
After watching this video; you will be able to use std::search and search_n in C++.
-
Using std::swap and swap_ranges in C++
After watching this video; you will be able to use std::swap and swap_ranges in C++.
-
Using std::transform in C++
After watching this video; you will be able to use std::transform in C++.
-
Using std::unique and unique_copy in C++
After watching this video; you will be able to use std::unique and unique_copy in C++.
-
Using STL Sorting with Containers in C++
After watching this video; you will be able to use STL Sorting with Containers in C++.
-
Using STL Sorting with Objects in C++
After watching this video; you will be able to use STL Sorting with Objects in C++.
-
Using stl: find_if in C++
After watching this video; you will be able to use the std::find_if in C++.
-
Working with Containers in C++
After watching this video; you will be able to demonstrate how to work with sequential and associative containers in C++.
-
Working with I/O and Functors in C++
After watching this video; you will be able to demonstrate how to incorporate I/O and Functors in a C++ application.
-
Working with STL Operations for Sets
After watching this video; you will be able to work with STL Operations for Sets.
-
Using standard permutations in C++
After watching this video; you will be able to use std::next_permutation; prev_permutation; and is_permutation in C++.
-
Anticipating Errors in C/C++
After watching this video; you will be able to recognize how to anticipate potential errors in C/C++ code.
-
Assertions in C/C++
After watching this video; you will be able to use assertions in your programming code.
-
Buffer Overflows in C/C++ Applications
After watching this video; you will be able to describe what buffer overflows are and their impact.
-
Casting in C/C++
After watching this video; you will be able to identify why casting in the C++ style is preferred to the C style.
-
Clean Code for C/C++
After watching this video; you will be able to recognize what clean code is.
-
Code Readability in C/C++
After watching this video; you will be able to recognize the importance of good readability for planning and maintaining code.
-
Creating a Secure C/C++ Application
After watching this video; you will be able to use defensive coding techniques to create a secure C/C++ application.
-
Creating Clean Testable Code for C/C++
After watching this video; you will be able to use defensive coding techniques to create clean testable methods.
-
Data Validation in C/C++
After watching this video; you will be able to demonstrate some common data validation techniques employed to create secure C/C++ applications .
-
Defensible Methods in C/C++
After watching this video; you will be able to create examples of defensible methods in C/C++.
-
Defensive Coding in C/C++
After watching this video; you will be able to recognize the key features of defensive coding.
-
Employing Iterative Design for C/C++
After watching this video; you will be able to identify the key features of iterative design.
-
Error Codes and Messages in C/C++
After watching this video; you will be able to create a C/C++ application that incorporates error codes and messages into its error handling.
-
Error Handling in C/C++
After watching this video; you will be able to identify error-handling techniques to promote defensive coding.
-
Error Processing and Global Objects in C/C++
After watching this video; you will be able to recognize how to use error processing and global objects.
-
Format String Attacks in C/C++
After watching this video; you will be able to identify how to prevent Format String vulnerabilities in C/C++ applications.
-
Functions in C/C++
After watching this video; you will be able to recognize how to keep functions focused and concise.
-
Handling Errors Locally in C/C++
After watching this video; you will be able to identify how to handle errors locally in C/C++ code.
-
If and Switch Statements in C/C++
After watching this video; you will be able to identify how to use if and switch statements in creating defendable code.
-
Injection Attacks in C/C++ Applications
After watching this video; you will be able to describe what Code injection attacks are.
-
Introduction to Testing for C/C++
After watching this video; you will be able to describe the benefits of testing your code.
-
Low-level Design Inspections for C/C++
After watching this video; you will be able to identify how to perform low-level design inspections.
-
Method Parameters and Return Values in C/C++
After watching this video; you will be able to identify the techniques for applying defensive techniques for method parameters and return values in C/C++ methods .
-
Mitigating Injection Attacks
After watching this video; you will be able to describe how to mitigate injection attacks in C/C++ applications.
-
Operator Overloading in C/C++
After watching this video; you will be able to recognize how to properly use operator overloading in C/C++.
-
Potential Software Risks in C/C++
After watching this video; you will be able to describe the potential risks faced by software applications.
-
Pre and Post Conditions in C/C++
After watching this video; you will be able to apply pre and post conditions to C/C++.
-
Preventative Planning in C/C++
After watching this video; you will be able to list some key approaches to preventing problems during the planning stage .
-
Preventing DLL Highjacking in C/C++ Applications
After watching this video; you will be able to recognize how to prevent DLL highjacking in C/C++ applications.
-
References and Pointers in C/C++
After watching this video; you will be able to identify the best way to use references and pointers and why you should avoid raw pointers.
-
Secure Coding Practices for C/C++
After watching this video; you will be able to describe the top secure coding practices for C/C++.
-
Unit Tests for C/C++
After watching this video; you will be able to recognize how to perform unit tests using Visual Studio for C/C++.
-
Using Exceptions in C/C++ Applications
After watching this video; you will be able to use exceptions in C/C++ applications.
-
Using Pseudocode for C/C++
After watching this video; you will be able to use pseudocode to develop programming solutions.
-
Utilizing Exceptions in C/C++
After watching this video; you will be able to demonstrate how to use exceptions to handle errors .
-
Variables in C/C++
After watching this video; you will be able to recognize how to implement variable declarations for defendable code.
-
Why Do Risks Exist in C/C++ ?
After watching this video; you will be able to identify the key reasons why risks are a recurring issue.
-
Working with Accessor Methods in C/C++
After watching this video; you will be able to identify the correct way to access internal class data.
-
Working with Loops in C/C++
After watching this video; you will be able to describe why for loops are preferred to while loops.
-
Writing Testable Code for C/C++
After watching this video; you will be able to recognize how to write testable code in C/C++.
-
Working with Data in C/C++
After watching this video; you will be able to recognize how to properly interface with data in C/C++.
-
Comparing Pairs
After watching this video; you will be able to demonstrate how to compare pair objects using generic relational operators.
-
Introduction to STL Associative Containers
After watching this video; you will be able to describe the key types and features of STL Associative Containers including when they should or shouldn't be used and show a sample.
-
Introduction to STL Sequential Containers
After watching this video; you will be able to describe the key features of STL Sequential Containers including when they should or shouldn't be used and show a sample.
-
Introduction to Templates in C++
After watching this video; you will be able to describe the key features of C++ templates; including when they should or shouldn't be used and show a sample.
-
STL Sequential Containers: Working with Objects
After watching this video; you will be able to demonstrate how to work with objects as container elements.
-
Swapping Pairs
After watching this video; you will be able to demonstrate how to use std: swap with pairs.
-
Working with Objects in Sets and Maps
After watching this video; you will be able to demonstrate how to incorporate objects into set and map.
-
Working with Pair Objects
After watching this video; you will be able to demonstrate how to create and use pairs.
-
Preventing Buffer Overflows
After watching this video; you will be able to identify how to prevent buffer overflows.
-
Arithmetic Operators
C++ allows you to perform computational arithmetic functions and conversions using the plus; minus; multiplication; division; and modulo operators. In this video; Brigitte Birze demonstrates the precedence of arithmetic operators in C++ and the implicit conversion of operands as well as their use in arithmetic expressions.
-
Potential UI Application Risks
After watching this video; you will be able to list potential risks to C/C++ UI applications.
-
Using Regular Expressions
After watching this video; you will be able to how to use regular expressions to help in input validation.
-
Using the this Keyword
"In C++; the self-referential keyword “this” is commonly used. In this video; Mark Lassoff demonstrates how to use the ""this"" keyword in a C++ program."
-
Arrays
C++ allows you to use single or multidimensional arrays; each containing a group of elements of the same data type stored in contiguous memory; and accessed by a single variable. In this video; Brigitte Birze demonstrates the structure and syntax of C++ arrays; as well as how to build single and multidimensional arrays.
-
Bitwise Operators
C++ bitwise operators allow you to shift; invert; and perform logical operators on variables at the bit level. In this video; Brigitte Birze demonstrates the bitwise operators; their symbols; and their use.
-
Opening and Closing Files
In C++; you can create programs that maintain state by saving and retrieving data permanently. In this video; Mark Lassoff discusses opening and closing files using C++ code.
-
Constraining User Input
After watching this video; you will be able to recognize how to constrain user input to prevent bad data input.
-
Creating Classes and Objects
C++ is an object oriented programming language. In this video; Mark Lassoff demonstrates how to create classes and objects in C++.
-
Dealing with Bad Data
After watching this video; you will be able to specify how to deal with bad data in your C/C++ applications.
-
The Switch Statement
In C++; switch statements allow you to control the flow of statements in your program by testing the value of an expression or variable against a list of cases. In this video; Brigitte Birze demonstrates the syntax of a switch statement before explaining the implementation of a switch statement and how it compares to a chain of if statements.
-
Command Line Arguments
C++ allows a user to change an invoked program's behavior from the command line without modifying the program's code. In this video; Brigitte Birze demonstrates how a program's main function needs to be configured so that it accepts an argument count and a vector of the argument values.
-
C++ Programming: Adding Public Members to Classes
After watching this video, you will be able to add public members to a class in C++.
-
C++ Programming: Creating a Class Constructor
After watching this video, you will be able to create a class constructor in C++.
-
C++ Programming: Working with Default Constructors
After watching this video, you will be able to create a class with a default constructor in C++.
-
C++ Programming: Creating Pointers to Classes
After watching this video, you will be able to create a pointer in C++.
-
C++ Programming: Creating a Class Deconstructor
After watching this video, you will be able to create a class deconstructor in C++.
-
C++ Programming: Working with Overloaded Constructors
After watching this video, you will be able to create a class with overloaded constructors in C++.
-
C++ Programming: Overloading Operators in Classes
After watching this video, you will be able to create a class with overloaded operators in C++.
-
C++ Programming: Exercise: Work with C++ Classes
After watching this video, you will be able to create and use classes in a C++ application.
-
C++ Programming: Creating Classes Defined with Struct
After watching this video, you will be able to create a struct in C++.
-
C++ Programming: Creating Classes Defined with Union
After watching this video, you will be able to create a union class type in C++.
-
C++ Programming: Objects and Function Arguments
After watching this video, you will be able to pass objects as function arguments in C++.
-
C++ Programming: Virtual Functions
After watching this video, you will be able to create C++ virtual functions.
-
C++ Programming: Operator Overloading
After watching this video, you will be able to overload operators in C++ custom classes.
-
C++ Programming: Static Members of Classes
After watching this video, you will be able to create a C++ class with static members.
-
C++ Programming: Declaring Friend Functions
After watching this video, you will be able to declare a friend function in C++.
-
C++ Programming: Abstract and Interface Classes
After watching this video, you will be able to create abstract and interface classes in C++.
-
C++ Programming: Using the "this" Keyword
After watching this video, you will be able to create a class using the this keyword in C++.
-
C++ Programming: Understanding Traditional Inheritance
After watching this video, you will be able to create a C++ class with inheritance.
-
C++ Programming: Declaring Friend Classes
After watching this video, you will be able to declare a friend class in C++.
-
C++ Programming: Understanding Encapsulation
After watching this video, you will be able to create a class in C++ that utilizes encapsulation.
-
C++ Programming: Introduction to Templates in C++
After watching this video, you will be able to describe the key features of C++ templates, including when they should or shouldn't be used and show a sample.
-
C++ Programming: Declaring and Using Function Templates
After watching this video, you will be able to declare and use a function template in C++.
-
C++ Programming: Using Multiple Inheritance
After watching this video, you will be able to create a C++ class with multiple inheritance.
-
C++ Programming: Exercise: Working with OOP in C++
After watching this video, you will be able to create an application that incorporates OOP techniques.
-
C++ Programming: Sequential Containers - List
After watching this video, you will be able to write a C++ program using a list from the Standard Library.
-
C++ Programming: Sequential Containers - Vector
After watching this video, you will be able to write a C++ program using a vector from the Standard Library.
-
C++ Programming: Declaring and Using Class Templates
After watching this video, you will be able to declare and use a class template in C++.
-
C++ Programming: Introduction to Sequential Containers
After watching this video, you will be able to describe the key features of Standard Library Sequential Containers including when they should or shouldn't be used and show a sample.
-
C++ Programming: Sequential Containers - Deque
After watching this video, you will be able to write a C++ program using deque from the Standard Library.
-
C++ Programming: Sequential Containers - Array
After watching this video, you will be able to write a C++ program using array from the Standard Library.
-
C++ Programming: Containers - Queue
After watching this video, you will be able to write a C++ program using a queue from the standard templates library.
-
C++ Programming: Introduction to Associative Containers
After watching this video, you will be able to describe the key types and features of Standard Library Associative Containers including when they should or shouldn't be used and show a sample.
-
C++ Programming: Containers - Set
After watching this video, you will be able to write a C++ program using a set from the Standard Library.
-
C++ Programming: Containers - Priority Queue
After watching this video, you will be able to write a C++ program using priority_queue from the Standard Library.
-
C++ Programming: Containers - Stack
After watching this video, you will be able to write a C++ program using a stack from the Standard Library.
-
C++ Programming: Exercise: Work with Containers in C++
After watching this video, you will be able to demonstrate how to work with sequential and associative containers in C++.
-
C++ Programming: Containers - Map
After watching this video, you will be able to write a C++ program using a map from the Standard Library.
-
C++ Programming: Working with Objects in Sets and Maps
After watching this video, you will be able to demonstrate how to incorporate objects into set and map.
-
C++ Programming: The C++ Preprocessor
After watching this video, you will be able to use the C++ preprocessor.
-
C++ Programming: Command Line Arguments
After watching this video, you will be able to parse command line arguments in C++.
-
C++ Programming: C++ Data Types
After watching this video, you will be able to recognize the characteristics of C++ data types.
-
C++ Programming: UTF-16, UTF-32, and Wide Characters
After watching this video, you will be able to work with UTF-16, UTF-32, and wide characters in C++.
-
C++ Programming: Headers and Source Files
After watching this video, you will be able to divide code into header and source file pairs in C++.
-
C++ Programming: Exercise: Recognize the C++ Program Structure
After watching this video, you will be able to recognize the main parts of a C++ program and describe the use of the preprocessor.
-
C++ Programming: Relational and Logical Operators
After watching this video, you will be able to work with relational and logical operators in C++.
-
C++ Programming: Bitwise Operators
After watching this video, you will be able to work with bitwise operators in C++.
-
C++ Programming: Data Type Modifiers
After watching this video, you will be able to work with C++ data type modifiers.
-
C++ Programming: Arithmetic Operators
After watching this video, you will be able to use arithmetic operators in a C++ program.
-
C++ Programming: Compound Assignment Operators
After watching this video, you will be able to work with compound assignment operators in C++.
-
C++ Programming: The If Statement
After watching this video, you will be able to use the if statement for branching in C++ programs.
-
C++ Programming: Assignment Operators
After watching this video, you will be able to work with assignment operators in C++.
-
C++ Programming: The Do While Loop
After watching this video, you will be able to use a do while loop in C++.
-
C++ Programming: The Switch Statement
After watching this video, you will be able to use the switch statement in C++ programs.
-
C++ Programming: The For Loop
After watching this video, you will be able to use a for loop in C++ programs.
-
C++ Programming: The While Loop
After watching this video, you will be able to use a while loop in C++ programs.
-
C++ Programming: Inline Functions
After watching this video, you will be able to write an inline function in C++.
-
C++ Programming - Exercise: Creating a Basic C++ Application
After watching this video, you will be able to create a basic C++ application using data types and looping constructs.
-
C++ Programming: Default Function Arguments
After watching this video, you will be able to define default arguments for a function in C++.
-
C++ Programming: Using References
After watching this video, you will be able to use references in C++.
-
C++ Programming: References as Function Arguments
After watching this video, you will be able to use references as function arguments in C++.
-
C++ Programming: Overloaded Functions
After watching this video, you will be able to write overloaded functions in C++.
-
C++ Programming: Pointers as Function Arguments
After watching this video, you will be able to pass pointers as arguments to functions in C++.
-
C++ Programming: Handling Exceptions
After watching this video, you will be able to implement exception handling in C++ programs.
-
C++ Programming: Suppressing Allocation Exceptions in C++
After watching this video, you will be able to use nothrow new to suppress allocation exceptions in C++.
-
C++ Programming: References as Function Return Values
After watching this video, you will be able to use references as function return values in C++.
-
C++ Programming: Using Asserts
After watching this video, you will be able to use asserts for troubleshooting in C++ programs.
-
C++ Programming: String Class (std::string)
After watching this video, you will be able to use the C++ string class.
-
C++ Programming: Wide String Class (std::wstring)
After watching this video, you will be able to use the C++ wide string class.
-
C++ Programming: C-style Strings
After watching this video, you will be able to work with C-style string in C++.
-
C++ Programming: Using a Namespace
After watching this video, you will be able to use a namespace in C++.
-
C++ Programming: Creating a Namespace Alias
After watching this video, you will be able to create a namespace alias in C++.
-
C++ Programming: Null Terminated Strings
After watching this video, you will be able to work with null terminated strings in C++.
-
C++ Programming: Declaring a Namespace
After watching this video, you will be able to declare a namespace in C++.
-
C++ Programming: Creating Classes and Objects
After watching this video, you will be able to create a class in C++.
-
C++ Programming: Adding Private Members to Classes
After watching this video, you will be able to add a private member to a class in C++.
-
C++ Programming: The STD Namespace
After watching this video, you will be able to create a C++ application using the std namespace.
-
C++ Programming - Exercise: Use C++ Functions, Exceptions, & Strings
After watching this video, you will be able to create an application that uses C++ functions, exceptions, and strings.
-
C++ Programming: Adding Protected Members to Classes
After watching this video, you will be able to add a protected member to a class in C++.
-
C++ Programming: Downloading and Installing Eclipse for C++
After watching this video, you will be able to download and install Eclipse for C and C++ development.
-
C++ Programming: Creating a New Project with Eclipse
After watching this video, you will be able to use Eclipse to create a new C++ project.
-
C++ Programming: Introduction to C++
After watching this video, you will be able to recognize the characteristics and uses of the C++ programming language, and identify the main libraries it uses.
-
C++ Programming: C++ Program Structure
After watching this video, you will be able to describe the structure of a C++ program.
-
C++ Programming: C++ Syntax Differences from C
After watching this video, you will be able to recognize the major syntax differences between C++ and C.
-
C++ Programming: C++ and the GNU Compiler Collection (GCC)
After watching this video, you will be able to install and compile C++ programs with GCC on Linux or Unix systems.
-
C++ Programming: C++ Projects in Visual Studio
After watching this video, you will be able to create C++ projects in Visual Studio.
-
C++ Programming: C++ I/O Streams
After watching this video, you will be able to work with C++ I/O streams.