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 . B.E. Computer

Object Oriented Programming

0%

Course Title: Object Oriented Programming

Course No: CT125

Nature of the Course: Theory + Lab

Semester: 2

Full Marks: 20 + 20 + 60

Pass Marks: 0 + 0 + 0

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Object Oriented Programming Approach
3 hrs
1.1. Basic of Object Oriented Programming
1.2. Features of Object Oriented Programming
1.3. Popular Object Oriented Languages
1.4. Advantages of OOP
1.5. Disadvantages of OOP
2. Basics of C++ Programming
5 hrs
2.1. C++ Program Structure
2.2. Character Set and Tokens
2.3. Preprocessor Directives
2.4. New Headers
2.5. Namespace Scope
2.6. Variable Declaration and Expression
2.7. Data Types in C++
2.8. Type Conversion and casting
2.9. User Defined Constant const
2.10. Reference Variables
2.11. Control structures
2.12. Functions
  • Function Overloading
  • Inline Function
  • Default Arguments
  • Pass by Reference and Return by Reference
2.13. Array, Pointer and String
2.14. Structure and Unions
2.15. Enumeration
2.16. Dynamic Memory Allocation
3. Objects and Classes
7 hrs
3.1. C++ Classes
3.2. Objects and the Member Access
3.3. Relation of Object, Class and Memory
3.4. Defining Member Function
3.5. Making Outer Function inline
3.6. Overloading Member Function
3.7. Constructor
3.8. Destructors
3.9. Object as Function Arguments
3.10. Returning Objects from Functions
3.11. Array of Objects
3.12. Pointer to Objects
3.13. Dynamic Memory Allocation for Objects and Object Array
3.14. Dynamic Constructors
3.15. this Pointer
3.16. static Data Member
3.17. static Member Function
3.18. Constant Member Functions and Constant Objects
3.19. Friend Function
3.20. Friend Classes
3.21. Containership
4. Operator Overloading
5 hrs
4.1. Overloadable and Non-Overloadable Operators
4.2. Syntax of Operator Overloading
4.3. Unary Operator Overloading
4.4. Binary Operator Overloading
4.5. Operator Overloading using Member Operator Functions
4.6. Operator Overloading using Non Member Function
4.7. Data Conversion
4.8. Explicit Constructors
5. Inheritance
4 hrs
5.1. Base Class and Derived Class
5.2. protected Access Specifier
5.3. Derived Class Declaration
5.4. Forms of Inheritance
5.5. Public, Protected and Private Inheritance
5.6. Member Function Overriding
5.7. Constructors in Derived Class
5.8. Destructor in Derived class
5.9. Need of Virtual Base Class
6. Virtual Functions
4 hrs
6.1. Introduction
6.2. Need of Virtual Function
6.3. Pointer to Derived Class
6.4. Array of Pointers to Base Class
6.5. Pure Virtual functions and Abstract Class
6.6. Virtual Destructor
6.7. reinterpret_cast Operator
6.8. Run-Time Type Information
7. Stream Computation
6 hrs
7.1. Input/Output Stream Class Hierarchy
7.2. Testing Stream Errors
7.3. Unformatted Input/Output
7.4. Formatted Input/Output
7.5. File Input/Output with Streams
7.6. File Stream Class Hierarchy
7.7. ASCII and Binary Files
7.8. Read/Write from File
7.9. Sequential Access to File
7.10. Random Access to File
7.11. File Access Pointers and their Manipulators
7.12. Testing Errors during File Operations
7.13. File Input/Output with Member Functions
7.14. Stream Operator Overloading
8. Templates
4 hrs
8.1. Function Template
8.2. Overloading Function Template
8.3. Class Template
8.4. Derived Class Template
9. Exception Handling
4 hrs
9.1. Basics of Exception Handling
9.2. Advantage over Conventional Error Handling
9.3. Exception Handling Mechanism
9.4. Rethrowing Exception
9.5. Multiple Handlers
9.6. Catching All Exceptions
9.7. Exception with Arguments
9.8. Exceptions Specification for Function
9.9. Exceptions in Constructors and Destructors
9.10. Handling Uncaught Exceptions
9.11. Handling Unexpected Exceptions
10. Introduction to Standard Template Library
3 hrs
10.1. Components of STL
10.2. Container
10.3. Iterators
10.4. Algorithms
10.5. Functions Objects

Laboratory Works

    Reference Books

    1. 1.Robert Lafore, "Object Oriented Programming in C++", SAMS
    2. 2.Herbert Schildt, "C++ : A Beginner's Guide"
    3. 3.D.S. Baral, D. Baral, "Secrets of C++"

    Notes:

    Source:

    This course introduces the principles and practices of Object-Oriented Programming (OOP) using C++. It covers the fundamental concepts of classes, objects, encapsulation, inheritance, polymorphism, abstraction, and dynamic binding. Students will learn object-oriented design techniques and develop programming skills through the implementation of classes, operator overloading, inheritance hierarchies, virtual functions, templates, exception handling, file processing, and the Standard Template Library (STL). The course combines theoretical concepts with practical programming exercises to enable students to design, develop, and maintain modular, reusable, and efficient software systems.

    To acquaint the student with Object Oriented Programming. Emphasis will be given on developing object oriented programming skills using C++.
    There shall be 12 lab sessions to cover all the aspects of OOP.

    This syllabus follows the official BE Comp curriculum of Far Western University. In case of any doubt or revision, the university's published syllabus shall be considered authorative.