TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

OOP in C++/Java

Object-Oriented Programming (OOPs) is a programming paradigm that organizes software around objects and classes. It focuses on core concepts such as encapsulation, inheritance, polymorphism, and abstraction, enabling modular, reusable, and maintainable software development.

Select University

TUPoUFWU

Select Program

BSc. CSITB.E. ComputerBIT

TabFlux . Object Oriented Programming . FWU . BIT

Object Oriented Programming

0%

Course Title: Object Oriented Programming

Course No: BIT122

Nature of the Course: Theory + Lab

Semester: 2

Full Marks: 60 + 20 + 20

Pass Marks: 24 + 8 + 8

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Concepts of OOP and Basics of C++
7 hrs
1.1. Procedural vs. Object oriented programming
1.2. Characteristics of OOP: Objects, classes, Encapsulation, Data Abstraction, Inheritance, Polymorphism, Dynamic Binding, and Message Passing
1.3. Manipulators and input output statements in C++
1.4. Memory Management with New and Delete Operators
1.5. Reference variable
1.6. Pass by Value vs. Pass by Pointer vs. Pass by Reference
1.7. Default Arguments
1.8. Inline Functions and Macros
1.9. Method Overloading
2. Class and Objects
7 hrs
2.1. Class and objects
2.2. Accessing class members
2.3. Defining methods inside the class and outside the class
2.4. Object as function arguments
2.5. Constructors and its types
2.6. Passing Arguments to Constructors
2.7. Destructors
2.8. Overloading Constructors
2.9. Static Members and functions
2.10. this pointer
2.11. Friend function and friend Classes
3. Inheritance
7 hrs
3.1. Introduction and Importance of Inheritance
3.2. Access Specifies: Private, Public and Protected
3.3. Types of Inheritance: Single inheritance, Multiple, Multilevel, Hybrid Inheritance
3.4. Method overriding
3.5. Ambiguity in multiple inheritance
3.6. Resolving ambiguity
3.7. Ambiguity in multipath inheritance and Virtual Base Class
3.8. Public, Private, and Protected Derivations
3.9. Constructors and Destructors in Base and Derived Classes
4. Operator Overloading
5 hrs
4.1. Operator Overloading rules
4.2. Overloading Unary Operators
4.3. Overloading Binary Operators
4.4. Overloading using Friend Function
4.5. Conversion between data types: Basic to Basic, Basic to User defined, User defined to Basic, User defined to User defined
5. Polymorphism
4 hrs
5.1. Static and dynamic polymorphism
5.2. Virtual Functions
5.3. Abstract Base Classes and Pure Virtual Functions
5.4. Achieving Dynamic Polymorphism using Pure Virtual Function and Method overriding
6. Exception Handling
4 hrs
6.1. Concept of Exception
6.2. Exception handling concept
6.3. Throwing an Exception
6.4. Handling an Exception
6.5. Multiple Exceptions
6.6. Extracting Data from the Exception Class
6.7. Re-throwing an Exception
7. File Handling and Namespace in C++
6 hrs
7.1. Stream Classes
7.2. Unformatted I/O Operations
7.3. Formatted console I/O Operations
7.4. Opening and Closing Files
7.5. Reading and Writing Text Files
7.6. Detecting End of File
7.7. Reading and Writing Binary Files
7.8. Reading and Writing Objects
7.9. Random Access in File
8. Templates
5 hrs
8.1. Function Template
8.2. Templates with Multiple Type
8.3. Overloading with Function Templates
8.4. Class Templates
8.5. Defining Objects of the Class Template
8.6. Class Templates and Inheritance
8.7. Standard Template Library (STL)

Laboratory Works

    Text Books

    1. 1.Schildt, H., C++: The complete reference, Tata McGraw-Hill
    2. 2.Balagurusamy, E., Object-oriented programming with C++, Tata McGraw-Hill
    3. 3.Shah, M., & Thakker, K., Programming in C++, ISTE/Excel Books
    4. 4.Johnston, J., C++ Programming Today, Prentice-Hall of India
    5. 5.Venugopal, K. R., Mastering C++, Tata McGraw-Hill
    6. 6.Stroustrup, B., The C++ programming language, Addison-Wesley
    7. 7.Sahay, S., Object-oriented programming with C++, Oxford University Press

    Notes:

    Source:

    The course covers the concepts of object oriented programming using C++. The course includes concepts of objects, class, operator overloading, inheritance and polymorphism, file I/O, exception handling and templates
    Upon the completion of this course, students will be able to: Understand object oriented programming; Create class and objects; Use the concepts of inheritance; Perform operator overloading; Implement the concepts of polymorphism; Perform exception handling; Do the file handling operations; Use and implement templates
    The laboratory work includes implementation of object oriented concepts using C++ programming as mentioned in above units.
    university_short_name left empty: not stated on source document. marking_scheme component/mark_type labeling (THEORY FINAL 60/24, THEORY INTERNAL 20/8, PRACTICAL FINAL 20/8) is a standard-pattern best fit since the source only lists combined totals '60+20+20' and '24+8+8' without labeling each component. Text/Reference Books were listed as a single undifferentiated list in the source and have all been placed under text_books.