Object Oriented Programming (CSC166) — Notes, Syllabus & Past Questions

Concepts of classes, objects, inheritance, and polymorphism, typically implemented in C++.

Core Course8 Chapters
Chapter 18 Pages

Introduction to Object Oriented Programming

Overview of structured programming approach, Object oriented programming approach, Characteristics of object oriented languages.

Read Notes
Chapter 226 Pages

Basics of C++ programming

C++ Program Structure, Character Set and Tokens, Data Type, Type Conversion, Preprocessor Directives, Namespace, Input/Output Streams and Manipulators, Dynamic Memory Allocation with new and delete.

Read Notes
Chapter 328 Pages

Classes & Objects

A Simple Class and Object, Accessing members of class, Initialization of class objects: (Constructor, Destructor), Default Constructor, Parameterized Constructor, Copy Constructor.

Read Notes
Chapter 412 Pages

Operator Overloading

Fundamental of operator overloading, Restriction on operator overloading, Operator functions as a class members, Overloading unary and binary operator, Data Conversion (basic to basic.

Read Notes
Chapter 523 Pages

Inheritance

Introduction to inheritance, Derived Class and Base Class, Access Specifiers (private, protected, and public), Types of inheritance, Public and Private Inheritance.

Read Notes
Chapter 612 Pages

Virtual Function, Polymorphism, and miscellaneous C++ Features

Concept of Virtual functions, Late Binding, Abstract class and pure virtual functions, Virtual Destructors, Virtual base class, Friend function and Static function, Assignment and copy initialization.

Read Notes
Chapter 710 Pages

Function Templates and Exception Handling

Function templates, Function templates with multiple arguments, Class templates, templates and inheritance, Exceptional Handling (Try, throw and catch), Use of exceptional handling.

Read Notes
Chapter 814 Pages

File handling

Stream Class Hierarchy for Console Input /Output, Unformatted Input /Output, Formatted Input /Output with ios Member functions, Formatting with Manipulators, Stream Operator Overloading.

Read Notes