O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

C++ Fundamentals I and II (Video Training)

Video Description

C++ Fundamentals I and IIis for professional software developers who are not familiar with C++ and object-oriented programming. In this two-part video LiveLesson, distinguished programming languages author and professional teacher Paul Deitel uses the Deitel’s signature live-code approach to introduce C++ fundamentals, object-oriented programming and event-driven programming. The Deitel’s early classes and objects approach immerses the learner in object-oriented programming from the start. All concepts are presented in the context of complete-working programs using C++ and Microsoft’s Visual C++ 2008 Express version of its Visual Studio 2008 (Orcas) tools.

Table of Contents

  1. Dive into Visual Studio 2010
    1. Dive into Visual Studio 2010 00:19:16
  2. Dive into GNU C++ Compiler
    1. Dive into GNU C++ Compiler 00:11:49
  3. C++ Fundamentals - Part 1
    1. Part 1 Learning Objectives 00:04:22
  4. Lesson 1: Introduction to C++ Programming
    1. Learning Objectives 00:00:57
    2. Text printing program 00:11:57
    3. Comparing integers using if statements, relational operators and equality operators 00:14:23
  5. Lesson 2: Introduction to Classes and Objects
    1. Learning Objectives 00:01:36
    2. Defining a class with a member function 00:12:28
    3. Defining a member function with a parameter 00:07:36
    4. Data members, set functions and get functions 00:10:16
    5. Initializing objects with constructors 00:09:00
    6. Placing a class in a separate file for reusability 00:06:05
    7. Separating interface from implementation 00:15:49
    8. Validating data with set functions 00:06:00
  6. Lesson 3: Control Statements: Part 1
    1. Learning Objectives 00:00:37
    2. GradeBook: Calculating the class average with counter-controlled repetition 00:05:48
    3. GradeBook: Calculating the class average with sentinel-controlled repetition 00:10:52
    4. Preincrementing and postincrementing 00:03:28
  7. Lesson 4: Control Statements: Part 2
    1. Learning Objectives 00:01:26
    2. Compound interest calculations with the for statement 00:09:32
    3. do..while repetition statement 00:01:41
    4. GradeBook: Using the switch statement to count letter grades 00:12:24
    5. The break and continue statements 00:03:19
    6. Logical operators 00:06:01
  8. Lesson 5: Functions
    1. Learning Objectives 00:02:57
    2. Promotion hierarchy for fundamental data types 00:02:48
    3. Simulating the dice game Craps 00:11:00
    4. Scope rules 00:11:19
    5. inline functions 00:01:59
    6. Passing arguments by value and by reference 00:04:35
    7. Default arguments to a function 00:04:34
    8. Unary scope resolution operator 00:01:26
    9. Overloaded square functions 00:08:01
    10. Function templates 00:14:05
  9. Lesson 6: Arrays and Vectors
    1. Learning Objectives 00:02:17
    2. Initializing an array’s elements to zeros and printing the array 00:03:34
    3. Initializing the elements of an array in its declaration 00:03:02
    4. Character arrays processed as strings 00:07:23
    5. static array initialization and automatic array initialization 00:05:29
    6. Passing arrays and individual array elements to functions 00:09:07
    7. GradeBook: Using an array to store grades 00:13:06
    8. Initializing multidimensional arrays 00:06:34
    9. GradeBook: Using a two-dimensional array to store grades 00:07:55
    10. C++ Standard Library class template vector 00:18:18
  10. Lesson 7: Pointers and Pointer-Based Strings
    1. Learning Objectives 00:02:02
    2. Introduction to pointers 00:02:59
    3. Pointer operators & and * 00:07:49
    4. Pass-by-value vs. pass-by-reference with pointers 00:08:57
    5. Converting a string to uppercase using a nonconstant pointer to nonconstant data 00:08:25
    6. Printing a string one character at a time using a nonconstant pointer to constant data 00:05:25
    7. Attempting to modify a constant pointer to nonconstant data 00:02:14
    8. Attempting to modify a constant pointer to constant data 00:02:36
    9. Using the sizeof operator 00:06:40
    10. Referencing array elements with the array name and pointers 00:06:04
    11. Multipurpose sorting program with function pointers 00:09:15
    12. Array of pointers to functions 00:03:50
  11. Lesson 8: Classes: A Deeper Look, Part 1
    1. Learning Objectives 00:02:05
    2. Time class definition 00:13:34
    3. Class scope and accessing class members 00:04:44
    4. Enhancing the Time class with set and get method and a constructor with default arguments 00:17:21
    5. Order in which constructors and destructors are called 00:11:53
    6. A subtle trap--returning a reference to a private data member 00:07:31
    7. Default memberwise assignment 00:05:07
  12. Lesson 9: Classes: A Deeper Look, Part 2
    1. Learning Objectives 00:05:21
    2. const objects and const member functions 00:10:28
    3. Member initializer used to initialize a constant of a built-in data type 00:06:15
    4. Composition: Objects as members of classes 00:22:03
    5. friends can access private members of a class 00:07:46
    6. Using the this pointer 00:04:17
    7. Using the this pointer to enable cascaded function calls 00:05:49
    8. static class members 00:20:15
  13. C++ Fundamentals - Part 2
    1. Part 2 Learning Objectives 00:05:44
  14. Lesson 10: Operator Overloading: String and Array Objects
    1. Learning Objectives 00:03:09
    2. Overloaded stream insertion and stream extraction operators 00:19:13
    3. Case Study: Array class 00:14:59
    4. Case Study: Array class 00:31:12
    5. Case Study: String class 00:29:19
    6. Case Study: Date class 00:14:09
    7. Standard library class string 00:07:02
    8. Explicit constructors 00:07:33
  15. Lesson 11: Object-Oriented Programming: Inheritance
    1. Learning Objectives 00:02:15
    2. CommunityMember and Shape class hierarchies 00:07:18
    3. ComissionEmployee class 00:07:21
    4. BasePlusCommissionEmployee class 00:07:43
    5. Attempting to inherit from the CommissionEmployee class into the BasePlusCommissionEmployee class 00:13:06
    6. CommissionEmployee-BasePlusCommissionEmployee hierarchy with protected data 00:04:18
    7. CommissionEmployee-BasePlusCommissionEmployee hierarchy with private data 00:12:09
    8. When constructors and destructors in a class hierarchy are called 00:06:58
  16. Lesson 12: Object-Oriented Programming: Polymorphism
    1. Learning Objectives 00:03:24
    2. Assigning addresses of base-class and derived class objects to base-class and derived-class pointers 00:10:19
    3. Aiming a derived-class pointer at a base-class object 00:01:27
    4. Attempting to invoke derived-class-only functions via a base-class pointer 00:04:30
    5. Demonstrating polymorphism by invoking a derived-class virtual function via base-class pointer to a derived-class object 00:10:08
    6. Case Study: Payroll system using polymorphism 00:34:44
    7. Polymorphism, virtual functions and dynamic binding "under the hood" 00:08:29
    8. Case Study: Payroll system using polymorphism and runtime type information with dynamic_cast, typeid and type_info 00:12:01
  17. Lesson 13: Templates
    1. Learning Objectives 00:00:55
    2. Function template specializations of function template printArray 00:06:25
    3. Building a Stack class template 00:17:38
    4. Passing a Stack template object to a function template 00:05:30
  18. Lesson 14: Exception Handling
    1. Learning Objectives 00:03:38
    2. Exception handling example that throws exceptions on attempts to divide by zero 00:14:21
    3. Rethrowing an exception 00:05:59
    4. Stack unwinding 00:07:12
    5. new throwing bad_alloc on failure 00:04:22
    6. set_new_handler specifying the function to call when new fails 00:03:06
    7. auto_ptr object manages dynamically allocated memory 00:07:50
  19. Lesson 15: STL Overview and an Introduction to Iterators
    1. Learning Objectives 00:02:57
    2. Standard library container classes 00:03:23
    3. STL container common functions 00:03:23
    4. typedefs found in first-class containers 00:04:27
    5. Input and output stream iterators 00:07:10
    6. Iterator categories and the iterator category hierarch 00:04:01
    7. Iterator types supported by each Standard Library container 00:03:41
    8. Iterator operations for each type of iterator 00:04:15
  20. Lesson 16: STL Containers and Container Adapters
    1. Learning Objectives 00:02:41
    2. Standard Library vector class template 00:16:12
    3. vector class template element-manipulation functions 00:12:31
    4. Standard Library list class template 00:09:56
    5. Standard Library deque class template 00:02:44
    6. Standard Library multiset class template 00:11:20
    7. Standard Library set class template 00:06:13
    8. Standard Library multimap class template 00:05:17
    9. Standard Library map class template 00:04:15
    10. Standard Library stack adapter class 00:04:14
    11. Standard Library queue adapter class 00:01:41
    12. Standard Library priority_queue adapter class 00:01:16
  21. Lesson 17: STL Algorithms, the Bitset Class, and Function Objects
    1. Learning Objectives 00:02:16
    2. fill, fill_n, generate and generate_n algorithms 00:09:08
    3. equal, mismatch and lexicographical_compare algorithms 00:09:32
    4. remove, remove_if, remove_copy and remove_copy_if algorithms 00:08:04
    5. replace, replace_if, replace_copy and replace_copy_if 00:03:57
    6. Mathematical algorithms of the Standard Library 00:08:40
    7. Basic searching and sorting algorithms of the Standard Library 00:05:50
    8. copy_backward, merge, unique and reverse algorithms 00:04:35
    9. inplace_merge, unique_copy and reverse_copy algorithms 00:05:37
    10. set operations of the Standard Library 00:07:00
    11. lower_bound, upper_bound and equal_range algorithms 00:06:11
    12. min and max algorithms 00:00:49
    13. bitset class 00:10:19
    14. Function objects 00:05:27