
Explore inheritance, polymorphism, generic programming, and exception handling in C++, plus streams, sequential and associative containers, generic algorithms, non standard template library data structures, and namespaces.
Explore inheritance in C++, building a quadrilateral base class with four sides and deriving trapezoid and square. Use base constructors and display method to illustrate concepts and set up polymorphism.
Leverage virtual functions to enable runtime polymorphism and correct behavior for base and derived objects. See how a vector of employee pointers calls the right pay function, highlighting dynamic dispatch.
Demonstrate polymorphism by creating an abstract animal class with a pure virtual talk function implemented by dog and cat classes. The compiler calls the correct talk method for each object.
Explore generic programming in c++, showing how templates enable a single display function for arrays of different types, avoiding duplicate code and enabling runtime data type flexibility.
Learn to implement generic functions with templates, using a type placeholder T to handle any data type with a single display or max function.
Define a generic stack class template with a data store and a top index, implementing push, pop, and peek. Demonstrate with int and double.
Create a C++ class template with two data types, using parallel key and value vectors to implement a simple map and store key-value pairs.
Create a generic template function equals that compares two values of any type and returns a boolean. Test it with integers and strings, then prepare to explore template classes.
Build a generic list class using C++ templates and vector storage. Test with string groceries and numeric grades to show add and display functionality.
Derive a divide by zero exception from the standard runtime error, implement a quotient function that throws when the denominator is zero and returns the quotient otherwise.
This exercise demonstrates exception handling with file input/output by showing what happens when opening a non-existent file and how a try-catch block gracefully handles the error.
Explore the varied C++ stream I/O types, define streams as byte sequences, and learn to work with cout, cerr, ifstream, and ofstream across libraries.
Master console input in c++ using cin and getline to handle single-word and multiword input, then explore character input with get and eof handling.
Explore string streams in c++ to concatenate strings with numeric data using a stringstream object, convert to a string, and format a person’s name and age.
Demonstrates parsing a line of grades from a file using a string stream to convert strings to integers and compute the average.
Explore using the C++ list container to add, remove, and display values with a custom display function and iterators, including push_front, pop_front, pop_back, size, clear, and empty checks.
Explore the deck, a double-ended queue, and its push front and push back operations. Practice removing with pop front and pop back, accessing by index, and looping to display size.
Search a deque with a find function using the at function to return a position or -1 if not found, and insert names at a chosen position with an iterator.
Implement a void function insertMax for a list of integers that inserts only if the value exceeds the current max, using sorting and a test program with input and display.
Explore the map associative container by storing a phone number list with names as keys and numbers as values, then add, retrieve, erase, and check size of key value pairs.
Master using maps in C++, finding a grade by key with iterators, checking for end, and iterating from begin to end to compute the average grade.
Learn how the set container stores unique keys, prevents duplicates, and sorts items automatically; use insert and an iterator to display words entered by the user.
Explore how multimap handles duplicate keys alongside maps, learn to insert pairs, and retrieve all occurrences using find, upper_bound, and iterators with example Jones entries.
Build a simple C++ program that uses a map to store a phone list from a text file and retrieve numbers via a menu.
This exercise implements a set-based prime generator that iterates from 2 to your upper bound, erases multiples to leave primes, and prints them in readable lines.
Explore generic algorithms with a focus on the read-only accumulate algorithm. Use accumulate to sum numbers and combine words into a single string without modification.
Explore read write algorithms that modify containers: use fill to set a range to a value and replace to swap one value for another, demonstrated on number and string vectors.
Demonstrate using front inserter and back inserter iterators to insert data at beginning or end of containers, highlighting push back and push front requirements with vectors and a deck.
Master reverse iterators to traverse a vector from end to beginning, using rbegin and rend with dereferencing, and explore palindrome checks in exercises.
Explore generic algorithms by filling a 10-element vector with random numbers using generate, then compute the sum with accumulate. Using this approach makes code shorter, clearer, and less error-prone.
Finish implementing a generic stack with data members and operations, test with pushes and pops, add count, clear, and empty checks, then test and move on to a queue class.
Implement a queue class in C++ by tracking front and back, supporting in and out operations, with a shift helper and a show method for testing.
Extend the Q class by adding count, front and back display, and a clear function. Demonstrate testing for empty state and data shifting in the queue's data store.
Learn how binary trees and binary search trees organize data as a root with left and right children, a fast data structure for insertion, search, and min/max values.
Build and test a binary search tree in C++ by declaring the class, inserting data, and traversing with preorder, inorder, and postorder to see how data is stored.
Explore the linked list data structure by building a node class with data and a next pointer, implement constructors and accessors, and distinguish singly, doubly, and circular variants.
Build a linked list class with a head pointer and a node class with set next, enabling appending new nodes at the end and deleting nodes by data.
Finish the linked list class by implementing a print function, test with sample data, and explore deletion behavior and node insertion strategies for insert before/after values.
The exercise demonstrates converting a base 10 number to base 2 using a stack, pushing, popping, peeking, and clearing integers to form the binary result.
Utilize two queues in c++ to simulate a square dance by pairing the first available man and woman from a data file, reporting partners and remaining waiters.
Implement a from-scratch linear search in C++ that scans an array for a key, returning its index or -1 if not found; test with a 20-element array of random numbers.
Learn how to implement selection sort in C++ by locating the smallest element, swapping it into place, and displaying the array during the process.
See insertion sort, a two-part array method that inserts each unsorted element into its correct position via swaps, growing the sorted region.
Learn to sort data with merge sort in C++, splitting an array, sorting halves, and merging with a temporary array. Explore the recursive merge sort function and its merge phase.
Demonstrates the quicksort algorithm with partitioning and a pivot, using recursion and swaps to sort an array, and notes that quicksort is fast but not stable.
Demonstrate timing code to measure how long an algorithm runs and compare insertion sort to quicksort on a 10000-item random data array using milliseconds.
Course Duration: 6.5 Hours - 80 Lessons
About This Course
In this Advanced C++ training course, expert trainer, author and developer Professor McMillan teaches you advanced tools and techniques for developing programs with C++. This tutorial continues where Professor McMillan left off with the Beginners Learning C++ training course from Infinite Skills.
You jump right in to the training with a review of Inheritance. You will learn advanced topics in this training course such as Polymorphism, creating templates, working with exception handling, stream input/output management, associative containers, algorithms, stacks, queues and binary trees, different search and sort methods, namespaces and working with advanced string class methods.
By the completion of this advanced training course for C++, you will have an in-depth understanding of how to apply advanced programming techniques to achieve your software development needs. Working files are included to allow you to learn using the same files that the author using in this video training course for C++
About Infinte Skills
InfiniteSkills is an innovator in the field of technology computer software training. The firm's progressive approach teaches complex topics by focusing on task-oriented training.This allows users to intuitively grasp a wide range of skills they can seamlessly integrate into their daily workflow. This Advanced C++ course is just one course from the huge selection of training videos offered by Infinite Skills