Object Oriented Programming in C++
Rule of Three
- Copy Constructor
- Regular Constructor
- Overloaded Assignment Operator
- Destructor
- Shallow vs Deep Copy
Pointers
-
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
Step Programs
- Farm Animal Example
Design Patterns
Behavioral Patterns
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
Creational Patterns
-
Provide the capability to create objects based on a required criterion and in a controlled way.
- Abstract Factory
- Builder
Structural Patterns
- 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!
Extras
Coming Soon:
Agile software development methods preferred such as Scrum, Continuous Integration, and Test-Driven Development.
Projects
more projects on the way……