Object
Oriented Programming in C++
EG
1205 CT
Total:
6 hour /week
|
|
Year:
I
|
Lecture:
3 hours/week
|
Semester: II
|
Tutorial: hours/week
Practical: 3
hours/week
|
Course
Description:
This course deals to develop the skill on thinking about
computation and problem solving in Object Oriented Paradigms. The course helps
the students to discover the basic concepts of objectoriented programming
concept such as object, class, inheritance, polymorphism, abstraction and
encapsulation and apply in C++.
Course
Objectives:
After completing this course the students will be able
to:
1. Explain object oriented programming approach
2. Design
the problem and solution using object oriented design methods
3. Define
various object oriented concepts such as class/object, abstraction,
inheritance, operator overloading, dynamic binding, templates etc in C++
programming language
Course Contents:
Course Contents:
Units
|
Topics
|
Contents
|
Hours
|
Methods/
Media
|
Marks
|
1
|
Object
Oriented
Programming:
|
1.1. Overview of structured programming
approach, problems with structured programming
1.2. Basics of object
oriented programming
• Procedure
oriented programming
• Object
oriented programming
• Procedure
oriented versus Object oriented programming
1.3 Characteristics
of object oriented programming languages: object, class, data abstraction,
polymorphism, overloading, encapsulation and
inheritance
1.4 Object
oriented languages
1.5 Advantage
and Disadvantage of OOP
|
4
hrs
|
||
2
|
Introduction
to
C++
|
2.1 History and Evolution of C++
2.2 Features of C++
2.3 Structure of C++
2.4 C++ Vs C
|
2
hrs
|
||
3
|
C++ Language
Basics:
|
3.1 Character set, tokens (keywords,
identifiers, operators)
|
7
hrs
|
Units
|
Topics
|
Contents
|
Hours
|
Methods/
Media
|
Marks
|
3.2 Commenting
3.3 Variable
declaration
3.4 Data type
3.5 Type Conversion and
promotion rules
3.6 Input/Output basics
3.7 Preprocessor
directives
3.8 Control structures
3.9 Array, Pointer,
String
3.10 Dynamic memory
allocation
3.11 Functions
•
Function overloading
•
Default argument
•
Inline function
•
Pass by reference
•
Return by reference 3.12 const
construct
3.13 Structure and
Unions
|
|||||
4
|
Object and Class:
|
4.1 Class syntax (similarities with structures)
4.2 Data Encapsulation (public, private
modifiers)
4.3 Object and the
member access
4.4 Defining member function (inside and outside of the class)
4.5 Constructor and
Destructor
4.6 Objects as function
arguments
4.7 Returning objects from functions
(nameless object)
4.8 Array of
objects
4.9 Pointer to
objects
4.10 Dynamic memory allocation for objects
and object array
4.11 This pointer (returning object using
this pointer)
4.12 Static data and
function members
4.13 Constant data
member of a class
4.14 Constant member functions and constant
objects
4.15 Friend function and
friend class
|
8hrs
|
||
5
|
Overloading Operators:
|
5.1 Overloadable operators
5.2 Syntax of operator
overloading
5.3 Unary operator
overloading
5.4 Binary operator
overloading
5.5 Operator overloading using member
operator functions (unary and binary)
|
4
hrs
|
Units
|
Topics
|
Contents
|
Hours
|
Methods/
Media
|
Marks
|
5.6 Operator overloading using friend
operator functions (unary and binary)
5.7 Fundamentals of Operator Overloading,
Restriction on operator overloading
|
|||||
6
|
Inheritance:
|
6.1 Base and derived class (definition
with diagrams)
6.2 protected access specifier (show whole
class syntax including protected)
6.3 Syntax of derived class declaration
(visibility modes)
6.4 Types of inheritance
• Single
• Multiple
• Hierarchical
• Multilevel
6.5 Scope
of inherited member functions and variables
6.6
Constructors in derived and base class
6.7
Destructor in Derived and base class
6.8
Member function and data overriding
6.9 Ambiguity
in member access in overriding members
6.10 Virtual
base class
|
5
hrs
|
||
7
|
Virtual functions:
|
7.1 Pointer to derived
class object
7.2 Array of pointers to derived class
objects with function overriding
7.3 Need of virtual
functions
7.4 Virtual functions
definition
7.5 Pure Virtual functions and Abstract classes 7.6 Virtual Destructor
|
3
hrs
|
||
8
|
Input/output
Streams and
Files:
|
8.1 Input/output Stream
class hierarchy
8.2 Unformatted
Input/output
8.3 Formatted
Input/output
• ios
Stream class member functions and flags
• Standard
manipulators
• User
defined manipulators
8.4 File
I/O with streams
8.5 File
stream class hierarchy
8.6 Operations
on files
8.7 ASCII
and Binary files
8.8 Opening
file, file modes and closing files
8.9 File
read/write using stream and using read & write function
|
6
hrs
|
||
Units
|
Topics
|
Contents
|
Hours
|
Methods/
Media
|
Marks
|
8.10 File pointers and
their manipulators
8.11 Testing for errors
during file operations
|
|||||
9
|
Templates:
|
9.1 Function Template
9.2 Overloading
function template
• Overloading
with functions
• Overloading
with other template
9.3 Class
Template
9.4 Function
definition outside of the class template
|
3hrs
|
||
10
|
Exception
Handling:
|
10.1 Introduction to
Exception.
10.2 Benefits of Exception
handling.
10.3 Try and catch
block.
10.4 Throw statement.
10.5 Pre-defined exceptions
in C++.
10.6 Writing custom
Exception class.
10.7 Stack Unwinding
|
3
hrs
|
||
Practical:
|
[45]
|
||||
The lab exercise will be different aspects
and features of the C++ programming language as follows :
1.
Write a program with the structured components
of the C++ language
2.
Demonstrate a simple class and its
implementation
3. Create
classes for data types such as complex no, date, time, distance etc and
implement them in a program
4.
Demonstrate constructors and destructors along
with the objects
5.
Apply static and constant member functions and
data
6.
Apply friends functions to act as bridge
between the objects
7.
Write to overload different operators
8. Write
program to convert data from user defined to fundamental data and vice versa,
and user defined to user defined type
9.
Write program to inherit the base class to add
new functionality in the base class
10. Apply
virtual functions pointer to objects in program
11. Demonstrate
binary and ASCII file manipulation
12. Write
a program to create and use function and class templates
13. Write
a program to illustrate exception handling
|
Reference
books:
1. Balagurusamy,
E. (2013). Object oriented programming
with C++. New Delhi: Tata McGraw-Hill
2. Robert
Lafore(2003), Object Oriented Programming in Turbo C++, Galgotia Publications
Ltd. India, 2003
3. Schildt,
H. (2003). C++: the complete reference
(4th ed). New York: McGraw-Hill.
4. Baral
Dayasar & Baral Diwakar (2010), Secrete of Object Oriented Programming in
C++, Kathmandu, Bhundipuran Prakashan
No comments:
Post a Comment