CSE233:OBJECT ORIENTED PROGRAMMING
L:0 T:0 P:4 Credits:2
Course Outcomes: Through this course students should be able to
CO1 :: identify basic programming constructs and use the newly acquired skills to solve
extensive programming problems
CO2 :: discuss the mechanism of code reusability by creating own libraries of functions
CO3 :: validate the logic building and code formulation by designing code capable of passing
various test cases
CO4 :: interpret the principles of the object-oriented model and apply it in the implementation in
C ++ language
CO5 :: develop accurate, reliable and efficient software applications
CO6 :: apply the knowledge acquired to develop software applications
List of Practicals / Experiments:
Concepts and Basics of C++ Programming :
• Differences between procedural and object oriented programming paradigms
• Features of Input/output Streams
• Reading and writing data using cin and cout
• Creating classes
• Class objects
• Accessing class members
• Differences between Structures, Unions and Classes
• Enumeration
• Inline and Non inline member functions
• Static data members and static member functions.
Functions:
• Functions with Default parameters/arguments
• Inline Functions
• Manipulator Functions
• Function overloading and Scope rules
• Friend of a class (friend function and friend class)
• Reference variables
• Differences between Call by value, Call by address and call by reference
• Recursion(Function, Member Function).
Pointers, Reference Variables, Arrays and String Concepts:
• Differences between pointer and reference variables
• Void pointer
• Pointer arithmetic
• Pointer to pointer
• Possible problems with the use of pointers - Dangling pointer, Wild pointer, Null pointer assignment
Session 2024-25 Page:1/4
• Classes containing pointers
• Pointer to objects
• this pointer
• Pointer to data member
• Array declaration and processing of multidimensional arrays(inside main and inside class)
• Array of objects
• The Standard C++ string class-defining and assigning string objects
• Member functions
• Modifiers of string class.
Constructors, Destructors and File Handling:
• Manager Functions (constructors and destructor)
• Default constructor
• Parameterized constructor
• Copy constructor
• Initializer lists
• Constructor with default arguments
• Destructors
Data File operations:
• Opening and closing of files
• Modes of file
• File stream functions
• Reading/Writing of files
• Sequential access and random access file processing
• Binary file operations
• Classes and file operations
• Structures and file operations
Operator Overloading and Type Conversion:
• Operator Overloading (unary operator, binary operator overloading)
• Type conversions - basic type to class type
• class type to basic type
Inheritance:
• Inheritance Basics – derived class and base class
• Types (simple, multi-level, multiple and hierarchical)
• Modes (private, protected, public inheritance)
• Overriding member functions
• Order of execution of constructors and destructors
• Resolving ambiguities in inheritance
• Virtual base class
Dynamic Memory Management and Polymorphism :
• Dynamic memory allocation using new and delete operators
• Memory leak and allocation failures
• Virtual destructors
Session 2024-25 Page:2/4
• Compile and run time polymorphism
• Virtual functions
• Pure virtual functions
• Abstract classes and concrete class
• Introduction to Self-Referential class
• Early binding and late binding
• Dynamic constructors.
Exception Handling, Templates and Standard Template Library (STL) :
• Basics of exception handling
• Exception handling mechanism
• Throwing mechanism
• Catching mechanism
• Rethrowing an exception
• Function template and class template
• Introduction to STL- Containers, Algorithms and iterators
• Container - Vector and List
Concepts and Basics of C++ Programming
• Programs to define classes and structures. Program to demonstrate inline, non inline member
functions and Static function
Functions
• Program to implement function overloading, friend function and friend class. Program to demonstrate
the difference between call by value, call by address and call by reference
Pointers, Reference Variables, Arrays and String Concepts
• Program to demonstrate the type of pointers. Program to process multidimensional array and array
of objects
Constructors, Destructors and File Handling
• Program to demonstrate constructor, destructor and type of constructors
Data File operations
• Program to demonstrate the modes of file. Program to demonstrate type of files.
Operator Overloading and Type Conversion
• Program to demonstrate the operator overloading and type conversion.
Inheritance
• Program to demonstrate the type of inheritance. Program to demonstrate the ambiguities in
inheritance
Dynamic Memory Management and Polymorphism
• Program to use new and delete for dynamic memory management. Program to demonstrate the
compile time and run time polymorphism. Program to demonstrate abstract class and dynamic
constructor.
Exception Handling, Templates and Standard Template Library (STL)
• Program to demonstrate exception handling. Program to demonstrate function template and class
template. Program to demonstrate STL- Containers, Algorithms and Iterators
Text Books:
1. OBJECT ORIENTED PROGRAMMING IN C++ by ROBERT LAFORE, PEARSON
References:
1. PROGRAMMING WITH C++ by D RAVICHANDRAN, MCGRAW HILL EDUCATION
2. OBJECT ORIENTED PROGRAMMING IN C++ by E BALAGURUSAMY, MCGRAW HILL
EDUCATION
Session 2024-25 Page:3/4
Session 2024-25 Page:4/4