Rule of Three
- Copy Constructor
- Regular Constructor
- Overloaded Assignment Operator
- Shallow vs Deep Copy
Introduction to Pointers in C/C++
Working with Pointers
Pointer Types, Pointer Arithmetic, Void Pointers
Pointers to Pointers in C/C++
Pointers as Function Arguments - Call by Reference
Pointers and Arrays
Arrays as Functions Arguments
Character Arrays and Pointers
Pointers and 2-D Arrays
Pointers and Multi-Dimensional Arrays
Pointers and Dynamic Memory - Stack vs Heap
Dynamic Memory Allocation in C++
Pointers as Function returns in C++
Function Pointer in C/C++
Function Pointers and Callbacks
Memory Leaks in C/C++
Part One: Review OOP Topics and UML Modeling
• Review Debugging in C++
- Inheritance, Polymorphism, Encapsulation, and Abstraction
• UML- Basic Class Modeling
• Virtual Functions in C++ (relates to Polymorphism) and Abstract Classes * Implementation of Virtual Functions
- Farm Animal Example
Behavioral design patterns are concerned with algorithms and the assignment of responsibilities between objects.
Iterator Pattern lets you traverse elements of a collection (list, stack, tree, linked list, etc.) without exposing its underlying representation.
Example using the NBA with an iterator on a Vector and an Array
- Weather Tower Example
- Fighter Example!
- Example using Different Kind of Pizzas
Provide the capability to create objects based on a required criterion and in a controlled way.
- Abstract Factory
- Example using plugs (US outlets vs European outlets)
- Example using ….
- Example using Librarian Example
- Using Taco Example
- Example using Stadium with a Proxy to show the different access a Season Ticket member has versus a regular guest!
Agile software development methods preferred such as Scrum, Continuous Integration, and Test-Driven Development.
more projects on the way……