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-CSITBCA-NEWBCA-OLDBITBCT-NEWBEI-NEW

TabFlux . Object Oriented Programming . TU . BEI-NEW

Object Oriented Programming

0%

Course Title: Object Oriented Programming

Course No: ENCT 151

Nature of the Course: Theory + Lab

Semester: 2

Full Marks: 40 + 60 + 50

Pass Marks: 16 + 24 + 20

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction to Object Oriented Programming
3 hrs4 marks
1.1. History of programming languages
1.2. Need of object oriented programming (OOP)
1.3. Object oriented programming versus procedure oriented programming
1.4. Concepts of object oriented programming
1.5. Popular object oriented languages
1.6. Advantages of OOP
1.7. Disadvantages of OOP
2. Basics of C++ Programming
5 hrs6 marks
2.1. C++ Program structure
2.2. Character set and tokens
2.3. Variable declaration and expression
2.4. Data types
2.5. Type conversion and casting
2.6. User defined constant const
2.7. Reference variables
2.8. Conditions and looping
2.9. Namespace scope
2.10. Functions
  • Function overloading
  • Inline function
  • Default arguments
  • Pass by reference and return by reference
2.11. Array, pointer and string
2.12. Structure and unions
2.13. Enumeration
2.14. Dynamic memory allocation
3. Objects and Classes
7 hrs8 marks
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. Defining outer function inline
3.6. Objects as member
3.7. Constructors and destructors
3.8. Object as function arguments
3.9. Returning objects from functions
3.10. Array of objects
3.11. Pointer to objects
3.12. Dynamic memory allocation for objects
3.13. Dynamic constructors
3.14. Pointer
3.15. Static data member and static member function
3.16. Constant member functions and constant objects
3.17. Friend functions and friend classes
4. Operator Overloading
5 hrs6 marks
4.1. Overloadable and non-overloadable operators
4.2. Syntax of operator overloading
4.3. Operator overloading using member operator functions
4.4. Operator overloading using non member functions
4.5. Unary operator overloading
4.6. Binary operator overloading
4.7. Type conversion between objects
4.8. Explicit constructors
5. Inheritance
5 hrs6 marks
5.1. Base class and derived class
5.2. Protected access specifier
5.3. Derived class declaration
5.4. Is_a relation and Has_a relation
5.5. Public, protected and private inheritance
5.6. Member overriding
5.7. Forms of inheritance
5.8. Constructors in derived class
5.9. Destructor in derived class
5.10. Need of virtual base class
6. Virtual Functions
4 hrs5 marks
6.1. What is virtual function
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 destructors
6.7. Reinterpret cast operator
6.8. Run-time type information
7. Stream Computation
6 hrs8 marks
7.1. Input/output stream class hierarchy
7.2. Testing stream errors
7.3. Unformatted input/output and formatted input/output
7.4. Stream operator overloading
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
8. Templates
6 hrs7 marks
8.1. Function template
8.2. Overloading function template
8.3. Class template
8.4. Derived class template
8.5. Introduction to standard template library
  • Components of STL
  • Container
  • Iterators
  • Algorithms
9. Exception Handling
4 hrs4 marks
9.1. Basics of exception handling
9.2. Advantage over conventional error handling
9.3. Exception handling mechanism
9.4. Multiple handlers
9.5. Catching all exceptions
9.6. Rethrowing exception
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 exception

Laboratory Works

    Reference Books

    1. 1.Schildt, H. (2015). C++: The Complete Reference. McGraw-Hill Education.
    2. 2.Baral, D.S., Baral, D. (2010). Secrets of Object Oriented Programming in C++. Bhundipuran Prakasan.
    3. 3.Lafore, R. (2002). Object Oriented Programming in C++. Sams Publishing.
    4. 4.Deitel, H.M., Deitel, P.J. (2007). C++ How to Program. Prentice Hall.

    Notes:

    Source:

    Object Oriented Programming introduces the principles and practices of object-oriented design and programming using C++. The course covers core OOP concepts including classes, objects, inheritance, polymorphism, operator overloading, templates, stream computation, and exception handling.
    To provide students with foundation in understanding and applying principles of object oriented programming. Emphasis will be given on developing object oriented programming skills using C++.
    There will be nine laboratory exercises encompassing the entire course content. At the end of the course, students are required to submit a programming project demonstrating the application of object-oriented programming concepts.

    This syllabus follows the official BEI curriculum of Tribhuwan University. In case of any doubt or revision, the university's published syllabus shall be considered authoritative. https://ioe.tu.edu.np/pages/electronics-engineering-curriculum-structure-2660