This ~4hr workshop will build on the previous C workshop and introduce the features that C++ adds.
Prerequisites
- Previous C workshop in the series.
- You are very strongly encouraged to have a Compute Canada account, see setup
Day 1 | 10:00 | Introduction |
What will we do in this course?
Are we ready? |
10:05 | Where does C++ fit in? |
How does C++ compare to other languages?
What is C++ used for? When should I use C++? What is C++’s relationship to C? |
|
10:13 | First C++ program | How do you create a C++ program? | |
10:23 | Memory |
How do I allocate memory?
How do I free memory? |
|
10:53 | A first class |
What is a class?
How do you create a class? How do you do use a class? |
|
11:08 | Break | Break | |
11:18 | Class member functions |
What is a class member function?
How do you create a class member function? How do you call a class member function? What data can class member functions access? |
|
11:38 | Function overloading |
What is function overloading?
What is the ‘this’ keyword? |
|
11:48 | Constructors and destructors |
Can class members be automatically initialized?
Are there different types of constructors? Can resources be automatically freed? |
|
12:08 | Operator overloading |
Can we define operators for our classes?
Where can you define operators? What operators can we define? Does the order matter? |
|
12:23 | Lunch++ | Break | |
14:00 | Inheritance |
What is inheritance?
What is inheritance used for? |
|
14:15 | Virtual functions |
What is a virtual function?
What is polymorphism? |
|
14:30 | Abstract classes |
What makes a class abstract?
What are abstract classes used for? |
|
14:45 | Break | Break | |
14:55 | Using templates |
What are templates?
What is generic programming? What is the STL? How do you use the STL? |
|
15:10 | Making templates |
How do you use templates to create generic functions that work with any type?
What is a template parameter? |
|
15:25 | Wrapping up |
What else should I learn?
Where can I learn it? |
|
15:27 | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.