C++ and Object-Oriented Programming

For several years I taught an Introduction to C++ and OOP class at the University of California, Riverside extension office.  Below is the material that I wrote for this course.  Feel to use the material for non-commercial purposes.   Please do not modify it without my permission.

This course assumes that you already know the C language, so the basics, such as flow of control, data types, etc., are not covered in detail.  The text used for this class is Bruce Eckel's Thinking in C++, 2nd Edition which you can download from his web site.

If you are interested in testing your knowledge by taking the Mid-Term or Final exams, please contact me.  The labs assume that you are using MS Visual Studio (C++).

 
 

Home
Schedule
Press Kit
Music
MP3
Photos
Video
Fav
Thoreau
C++/OOP
Links

   
   

Lecture

Reading - topics from Thinking in C++

Lab

C++ - A Better C

The C in C++, Pointers in C++, References in C++, Preprocessor pitfalls, Namespaces, Object creation,Value substitution, Pointers, Function arguments & return values

Lab 1
OOP & Intro to Classes

Hiding the Implementation, The process of abstraction, An object has an interface, Analysis and design, Tools for separate compilation, Your first C++ program, More about iostreams, Introducing strings

Lab 2

Lab2.c

More on Classes

Initialization & Cleanup, What's an object?, Abstract data typing, Classes, The copy-constructor, Static members in C++, Object creation, Introducing vector, Strings

Lab 3
Stream I/O (iostreams)

Reading and writing files, Iostreams

Extra Credit
Operator Overloading

Operator Overloading

Lab 4

Lab4.h

Inheritance

Inheritance & Composition

Lab 5
Polymorphism

Polymorphism & Virtual Functions

Lab 6
Templates

Introduction to Templates

Lab 7

Stack.h

Exception Handling

Exception Handling

Lab 8
Standard Template Library

STL Containers & Iterators