OBJECT ORIENTED PROGRAMMING AND COMPUTER GRAPHICS
LABORATORY
Unit I : Introduction to Object Oriented Programming
Introduction to procedural, modular, object-oriented and generic programming techniques,
Limitations of procedural programming, Need of object-oriented programming, fundamentals of
object-oriented programming: objects, classes, data members, methods, messages, data
encapsulation, data abstraction and information hiding, inheritance, polymorphism.
Unit II : Programming with C++Extensions to C:
Variable declarations, global scope, ‘const’, reference variables, comments, default
parameters, function prototypes, function overloading, inline functions, default and constant
arguments, ‘cin’, ‘cout’, formatting and I/O manipulators, new and delete operators
Unit III : Classes and Objects:
Defining a class, data members and methods, public, private and protected members, inline
member functions, static data members, static member functions, ‘this’ pointer, constructors,
destructors, friend function, dynamic memory allocation, array of objects, pointers and classes,
class as ADTs and code reuse
Unit IV : Operator Overloading:
Introduction, Need of operator overloading, overloading the assignment, binary and unary
operators, overloading using friends, rules for operator overloading, type conversions
Unit V : Inheritance and Polymorphism
Concept and need, single inheritance, base and derived classes, friend classes, types of
inheritance, hybrid inheritance, member access control, static class, multiple inheritance,
ambiguity, virtual base class, polymorphism, virtual functions, pure virtual functions, abstract
base class, virtual destructors, early and late binding, container classes
Unit VI : Templates:
Introduction, Templates: Function template and class template, function overloading vs.
function templates, member function templates and template arguments, Introduction to
Generic Programming: Introduction to Standard Template Library (STL),
containers, iterators and algorithms, study of container template classes for vectors and
stacks and related algorithms NameSpaces: Introduction, Rules of namespaces