C++ Fundamentals Part I and II

The Ultimate C++ Tutorial - Learn theFundamentalsof C++ with expert Paul Deitel

C++ Fundamentals Part I and II

Price$89.00

SchoolUdemy
ScheduleOn Demand
LocationOnline
Duration18 hours
Credits0
Enroll
Rating
Reviews10
Popularity6205 Registered
In CertificateNo
Difficultyall level
EffortN/A
Course DetailsCourse FAQ

C++ Fundamentals Part I and II

Categories:
Development

C++ Fundamentals is for professional software developers who are not familiar with C++ and object-oriented programming. This C++ tutorial contains over 18 hours of expert video instruction, spread out over 16 separate lessons.  Watch as distinguished author and professional teacher Paul Deitel uses the Deitel’s signature live-code approach to introduce C++ fundamentals, and object-oriented and event-driven programming. Deitel’s early classes and objects approach immerses you in object-oriented programming from the start, which makes learning these fundemental concepts easier and faster. All the concepts are presented in the context of complete-working programs using Microsoft’s Visual C++  Express version of its Visual Studio tool.

Course Details

Before you begin...
online
chapter
On Demand
Code examples
online
lecture
<p style=""><span style="">The source code from the book that corresponds to the video lessons.</span></p>
On Demand
Dive into Visual Studio 2010
online
chapter
On Demand
Dive into Visual Studio 2010
online
lecture
<p style=""> In this lesson, you learn how to use Microsoft&#039;s Visual Studio 2010 Express edition to load and edit and run C++ programs. </p>
On Demand
Dive into GNU C++ Compiler
online
chapter
On Demand
Dive into GNU C++ Compiler
online
lecture
On Demand
C++ Fundamentals - Part 1
online
chapter
On Demand
Part 1 Learning Objectives
online
lecture
On Demand
Lesson 1: Introduction to C++ Programming
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 3 lectures, you will learn to write simple C++ programs using input and output statements, fundamental types, arithmetic operators, and simple decision-making statements. </p>
On Demand
Text printing program
online
lecture
On Demand
Comparing integers using if statements, relational operators and equality operat
online
lecture
On Demand
Lesson 2: Introduction to Classes and Objects
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 8 lectures , you will learn about classes, objects, member functions and data members. You will learn how to define a class and use it to create an object, how to define member functions in a class, how to declare data members, how to call a member function of an object to make that member function perform its task, how to use a onstructor to ensure that an object’s data is initialized when the object is created, and how to engineer a class to separate its interface from its implementation and encourage reuse. </p>
On Demand
Defining a class with a member function
online
lecture
On Demand
Defining a member function with a parameter
online
lecture
On Demand
Data members, set functions and get functions
online
lecture
On Demand
Initializing objects with constructors
online
lecture
On Demand
Placing a class in a separate file for reusability
online
lecture
On Demand
Separating interface from implementation
online
lecture
On Demand
Validating data with set functions
online
lecture
On Demand
Lesson 3: Control Statements: Part 1
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 4 lectures, you will learn to use the if and if...else selection statements to choose among alternative actions, and the while repetition statement to execute statements in a program repeatedly. You will learn about both counter-controlled repetition and sentinel-controlled repetition; and you will learn to use the increment, decrement, and assignment operators. </p>
On Demand
GradeBook: Calculating the class average with counter-controlled repetition
online
lecture
On Demand
GradeBook: Calculating the class average with sentinel-controlled repetition
online
lecture
On Demand
Preincrementing and postincrementing
online
lecture
On Demand
Lesson 4: Control Statements: Part 2
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 6 lectures, you will learn more control statements, including the for and do...while repetition statements to execute statements in a program repeatedly, multiple selection using the switch selection statement, the break and continue program control statements to alter the flow of control, and the use of logical operators to form complex conditional expressions in control statements. </p>
On Demand
Compound interest calculations with the for statement
online
lecture
On Demand
do..while repetition statement
online
lecture
On Demand
GradeBook: Using the switch statement to count letter grades
online
lecture
On Demand
The break and continue statements
online
lecture
On Demand
Logical operators
online
lecture
On Demand
Lesson 5: Functions
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 10 lectures, you will learn to construct programs modularly from functions. You will learn to use common math functions available in the C++ Standard Library, and to create functions with multiple parameters. You will learn about the mechanisms for passing information between functions and returning results, and how to write and use recursive functions, i.e., functions that call themselves. </p>
On Demand
Promotion hierarchy for fundamental data types
online
lecture
On Demand
Simulating the dice game Craps
online
lecture
On Demand
Scope rules
online
lecture
On Demand
inline functions
online
lecture
On Demand
Passing arguments by value and by reference
online
lecture
On Demand
Default arguments to a function
online
lecture
On Demand
Unary scope resolution operator
online
lecture
On Demand
Overloaded square functions
online
lecture
On Demand
Function templates
online
lecture
On Demand
Lesson 6: Arrays and Vectors
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 10 lectures, you will learn to use the array data structure to represent a set of related data items. This lesson explains how to use arrays to store, sort and search lists and tables of values; to declare arrays, initialize arrays and refer to the individual elements of arrays; and to pass arrays to functions. Basic searching and sorting techniques are also presented, as is the use of multidimensional arrays, and the C++ Standard Library class template vector. </p>
On Demand
Initializing an array's elements to zeros and printing the array
online
lecture
On Demand
Initializing the elements of an array in its declaration
online
lecture
On Demand
Character arrays processed as strings
online
lecture
On Demand
static array initialization and automatic array initialization
online
lecture
On Demand
Passing arrays and individual array elements to functions
online
lecture
On Demand
GradeBook: Using an array to store grades
online
lecture
On Demand
Initializing multidimensional arrays
online
lecture
On Demand
GradeBook: Using a two-dimensional array to store grades
online
lecture
On Demand
C++ Standard Library class template vector
online
lecture
On Demand
Lesson 7: Pointers and Pointer-Based Strings
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 12 lectures, you will learn about the similarities and differences between pointers and references, and when to use each. The lesson shows you how to use pointers to pass arguments to functions by reference; use pointer-based C-style strings; use pointers to functions; and how to declare and use arrays of C-style strings. </p>
On Demand
Introduction to pointers
online
lecture
On Demand
Pointer operators & and *
online
lecture
On Demand
Pass-by-value vs. pass-by-reference with pointers
online
lecture
On Demand
Converting a string to uppercase using a nonconstant pointer to nonconstant data
online
lecture
On Demand
Printing a string one character at a time using a nonconstant pointer to constan
online
lecture
On Demand
Attempting to modify a constant pointer to nonconstant data
online
lecture
On Demand
Attempting to modify a constant pointer to constant data
online
lecture
On Demand
Using the sizeof operator
online
lecture
On Demand
Referencing array elements with the array name and pointers
online
lecture
On Demand
Multipurpose sorting program with function pointers
online
lecture
On Demand
Array of pointers to functions
online
lecture
On Demand
Lesson 8: Classes: A Deeper Look, Part 1
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 7 lectures, you will learn how to use a preprocessor wrapper to prevent multiple definition errors caused by including more than one copy of a header file in a source-code file. You will learn about class scope and accessing class members via the name of an object, a reference to an object or a pointer to an object. This lesson also shows you how to define constructors with default arguments; how destructors are used to perform “termination housekeeping” on an object before it is destroyed; when constructors and destructors are called; and the logic errors that may occur when a public member function of a class returns a reference to private data. </p>
On Demand
Time class definition
online
lecture
On Demand
Class scope and accessing class members
online
lecture
On Demand
Enhancing the Time class with set and get method and a constructor with default
online
lecture
On Demand
Order in which constructors and destructors are called
online
lecture
On Demand
A subtle trap--returning a reference to a private data member
online
lecture
On Demand
Default memberwise assignment
online
lecture
On Demand
Lesson 9: Classes: A Deeper Look, Part 2
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 8 lectures, you will learn to specify const (constant) objects and const member functions; create objects composed of other objects; use friend functions and friendclasses; use the this pointer; create and destroy objects dynamically with operators new and delete, respectively; usestatic data members and member functions. This lesson also introduces the concept of a container class; the notion of iterator classes that walk through the elements of container classes; and the use proxy classes to hide implementation details from a class’s clients. </p>
On Demand
const objects and const member functions
online
lecture
On Demand
Member initializer used to initialize a constant of a built-in data type
online
lecture
On Demand
Composition: Objects as members of classes
online
lecture
On Demand
friends can access private members of a class
online
lecture
On Demand
Using the this pointer
online
lecture
On Demand
Using the this pointer to enable cascaded function calls
online
lecture
On Demand
static class members
online
lecture
On Demand
C++ Fundamentals - Part 2
online
chapter
On Demand
Part 2 Learning Objectives
online
lecture
On Demand
Lesson 10: Operator Overloading: String and Array Objects
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 8 lectures, you will learn what operator overloading is and how it can make programs more readable and programming more convenient. In it, you will learn to redefine (overload) operators to work with objects of user-defined classes; to convert objects from one class to another class; when to, and when not to, overload operators; and to use overloaded operators and other member functions of standard library class string. </p>
On Demand
Overloaded stream insertion and stream extraction operators
online
lecture
On Demand
Case Study: Array class
online
lecture
On Demand
Case Study: Array class
online
lecture
On Demand
Case Study: String class
online
lecture
On Demand
Case Study: Date class
online
lecture
On Demand
Standard library class string
online
lecture
On Demand
Explicit constructors
online
lecture
On Demand
Lesson 11: Object-Oriented Programming: Inheritance
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> This section, which has 8 lectures, explores how to create classes by inheriting from existing classes. In it, you will learn how inheritance promotes software reuse; the notions of base classes and derived classes and the relationships between them; the use of constructors and destructors in inheritance hierarchies; the order in which constructors and destructors are called in inheritance hierarchies; the differences between public,protected and private inheritance; and the use of inheritance to customize existing software. </p>
On Demand
CommunityMember and Shape class hierarchies
online
lecture
On Demand
ComissionEmployee class
online
lecture
On Demand
BasePlusCommissionEmployee class
online
lecture
On Demand
Attempting to inherit from the CommissionEmployee class into the BasePlusCommiss
online
lecture
On Demand
CommissionEmployee-BasePlusCommissionEmployee hierarchy with protected data
online
lecture
On Demand
CommissionEmployee-BasePlusCommissionEmployee hierarchy with private data
online
lecture
On Demand
When constructors and destructors in a class hierarchy are called
online
lecture
On Demand
Lesson 12: Object-Oriented Programming: Polymorphism
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section which has 8 lectures, you will learn what polymorphism is, how it makes programming more convenient and how it makes systems more extensible and maintainable. You will learn to declare and use virtual functions to effect polymorphism; to declare pure virtual functions to create abstract classes; to use runtime type information (RTTI) with downcasting,dynamic_cast, typeid and type_info; and how to use virtualdestructors to ensure that all appropriate destructors run on an object. </p>
On Demand
Assigning addresses of base-class and derived class objects to base-class and de
online
lecture
On Demand
Aiming a derived-class pointer at a base-class object
online
lecture
On Demand
Attempting to invoke derived-class-only functions via a base-class pointer
online
lecture
On Demand
Demonstrating polymorphism by invoking a derived-class virtual function via base
online
lecture
On Demand
Case Study: Payroll system using polymorphism
online
lecture
On Demand
Polymorphism, virtual functions and dynamic binding "under the hood"
online
lecture
On Demand
Case Study: Payroll system using polymorphism and runtime type information with
online
lecture
On Demand
Lesson 13: Templates
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section, which has 4 lectures, shows you how to use function templates to conveniently create a group of related (overloaded) functions. You will learn how to distinguish between function templates and function-template specializations; how to use class templates to create a group of related types; how to distinguish between class templates and class-template specializations; and how to overload function templates. </p>
On Demand
Function template specializations of function template printArray
online
lecture
On Demand
Building a Stack class template
online
lecture
On Demand
Passing a Stack template object to a function template
online
lecture
On Demand
Lesson 14: Exception Handling
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this section, which has 7 lectures, shows you what exceptions are and when to use them. In it, you will learn to use try, catch and throw to detect, handle and indicate exceptions, respectively; to process uncaught and unexpected exceptions; to declare new exception classes; to handle new failures; to useauto_ptr to prevent memory leaks; and to understand the standard exception hierarchy. </p>
On Demand
Exception handling example that throws exceptions on attempts to divide by zero
online
lecture
On Demand
Rethrowing an exception
online
lecture
On Demand
Stack unwinding
online
lecture
On Demand
new throwing bad_alloc on failure
online
lecture
On Demand
set_new_handler specifying the function to call when new fails
online
lecture
On Demand
auto_ptr object manages dynamically allocated memory
online
lecture
On Demand
Lesson 15: STL Overview and an Introduction to Iterators
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> In this lesson which has 8 lectures, you will learn to use the STL containers, container adapters and “near containers.” This lesson explores how to program with the dozens of STL algorithms, and how algorithms use iterators to access the elements of STL containers. You will also learn about the STL resources available on the Internet and the World Wide Web. </p>
On Demand
Standard library container classes
online
lecture
On Demand
STL container common functions
online
lecture
On Demand
typedefs found in first-class containers
online
lecture
On Demand
Input and output stream iterators
online
lecture
On Demand
Iterator categories and the iterator category hierarch
online
lecture
On Demand
Iterator types supported by each Standard Library container
online
lecture
On Demand
Iterator operations for each type of iterator
online
lecture
On Demand
Lesson 16: STL Containers and Container Adapters
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> This section, which has 12 lectures, begins with a review of the vector class template and of the additional capabilities of vectors. The multiset and set classes are explored next, followed by a discussion of the multimap and map class templates. Finally, the stack, queue, and priority_queue adapter classes are examined in detail. </p>
On Demand
Standard Library vector class template
online
lecture
On Demand
vector class template element-manipulation functions
online
lecture
On Demand
Standard Library list class template
online
lecture
On Demand
Standard Library deque class template
online
lecture
On Demand
Standard Library multiset class template
online
lecture
On Demand
Standard Library set class template
online
lecture
On Demand
Standard Library multimap class template
online
lecture
On Demand
Standard Library map class template
online
lecture
On Demand
Standard Library stack adapter class
online
lecture
On Demand
Standard Library queue adapter class
online
lecture
On Demand
Standard Library priority_queue adapter class
online
lecture
On Demand
Lesson 17: STL Algorithms, the Bitset Class, and Function Objects
online
chapter
On Demand
Learning Objectives
online
lecture
<p style=""> This section, which has 14 lectures, starts by exploring examples of C++ STL algorithms. Then the bitset container class is explored. Finally, function objects are explored in detail. Several of the algorithms introduced in this lesson use function objects. </p>
On Demand
fill, fill_n, generate and generate_n algorithms
online
lecture
On Demand
equal, mismatch and lexicographical_compare algorithms
online
lecture
On Demand
remove, remove_if, remove_copy and remove_copy_if algorithms
online
lecture
On Demand
replace, replace_if, replace_copy and replace_copy_if
online
lecture
On Demand
Mathematical algorithms of the Standard Library
online
lecture
On Demand
Basic searching and sorting algorithms of the Standard Library
online
lecture
On Demand
copy_backward, merge, unique and reverse algorithms
online
lecture
On Demand
inplace_merge, unique_copy and reverse_copy algorithms
online
lecture
On Demand
set operations of the Standard Library
online
lecture
On Demand
lower_bound, upper_bound and equal_range algorithms
online
lecture
On Demand
min and max algorithms
online
lecture
On Demand
bitset class
online
lecture
On Demand
Function objects
online
lecture
On Demand

FAQ

Q. How long do I have access to the course materials?

A. You can view and review the lecture materials indefinitely, like an on-demand channel.

Q. What is the refund policy on the course?

A. We like to keep our users happy, so we have a 30-day no questions asked refund policy. Send an email to [email protected] for refund requests.

Q. Can I take my courses with me wherever I go?

A. Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!


Reviews of C++ Fundamentals Part I and II

  1. Posted by Robert Butler| March 16, 2016

    Paul Deitel is the C++ guru.

  2. Posted by Mark Bryan| March 12, 2016

    Clear, concise, and great examples to teach the topics. I highly recommend the book if you want to do more practice and exercises.

  3. Corso geniale di C++
    Posted by Stefano| January 26, 2016

    Corso completo ed efficace in ogni forma: esempi, spiegazioni chiare, esempi con dettagli di codice e commenti sul codice chiari e precisi. Paul ottimo scrittore ed insegnante di sviluppo software. Corsi da 5 stelle così come i libri inerenti i corsi. Ottimo lavoro, ottimo acquisto.

  4. It's a great course overall.
    Posted by Harry Zou| December 18, 2015

    The content is comprehensive and informative. It lines up well with the chapter in the corresponding textbook. The instructor delivers the lecture in an easily understandable way and I really enjoyed taking this online course and I believe I've learned a lot out of this class.

  5. very good
    Posted by Masinde Masinde| November 15, 2015

    Just amazing

  6. Posted by Jade| November 10, 2015

    Logical and Detailed lectures! One thing, teacher, will you include the google boost someday in lecture?

  7. Well Organized
    Posted by Aram Hamidi| October 23, 2015

    This course is even more organized than most of my school's courses! Paul is a great instructor, he explains details and concepts and what happens behind the scenes very clearly. If you just have the book, and study it also along with this course, you are all set and ready to start programming. From now on, all you need is experience and practice.

  8. Exceptionally well done
    Posted by Creighton| August 08, 2015

    This class is impressively well organized and clear. I consider myself to be a pretty tough critic when it comes to online classes and I feel that this is one of the best programming classes I have seen/taken. The content is made as simple as it can be and explained in a very logical/clear way. I would strongly recommend this class to anyone really wanting to learn C++!

  9. Good course
    Posted by John Carson-Zangor| July 08, 2015

    good course

  10. Very clear explanation of concepts in C++, speed up my learning curve
    Posted by Mui| March 14, 2015

    This is very in depth and comprehensive and explain the concepts very well, It is worth keeping the course in repository and go through it again.

Course provided by: Udemy