Student Hub
Institute of Engineering
Home
Programs
Courses
Colleges
Links
Menu
Home
Programs
Courses
Colleges
Links
Source on GitHub
Home
Courses
ENCT151
Syllabus
ENCT151
Object Oriented Programming
Overview
Syllabus
Old questions
Syllabus
Introduction to Object Oriented Programming
Issues with Procedure Oriented Programming
Basic of Object Oriented Programming (OOP)
Procedure Oriented versus Object Oriented Programming
Concept of Object Oriented Programming
Object
Class
Abstraction
Encapsulation
Inheritance
Polymorphism
Example of Some Object Oriented Languages
Advantages and Disadvantages of OOP
Introduction to C++
The Need of C++
Features of C++
C++ Versus C
History of C++
C++ Language Constructs
C++ Program Structure
Character Set and Tokens
Keywords
Identifiers
Literals
Operators and Punctuators
Variable Declaration and Expression
Statements
Data Type
Type Conversion and Promotion Rules
Preprocessor Directives
Namespace
User Defined Constant const
Input/Output Streams and Manipulators
Dynamic Memory Allocation with new and delete
Condition and Looping
Functions
Function Syntax
Function Overloading
Inline Functions
Default Argument
Pass by Reference
Return by Reference
Array, Pointer and String
Structure, Union and Enumeration
Objects and Classes
C++ Classes
Access Specifiers
Objects and the Member Access
Defining Member Function
Constructor
Default Constructor
Parameterized Constructor
Copy Constructor
Destructors
Object as Function Arguments and Return Type
Array of Objects
Pointer to Objects and Member Access
Dynamic Memory Allocation for Objects and Object Array
this Pointer
static Data Member and static Function
Constant Member Functions and Constant Objects
Friend Function and Friend Classes
Operator Overloading
Overloadable Operators
Syntax of Operator Overloading
Rules of Operator Overloading
Unary Operator Overloading
Binary Operator Overloading
Operator Overloading with Member and Non Member Functions
Data Conversion: Basic – User Defined and User Defined – User Defined
Explicit Constructors
Inheritance
Base and Derived Class
protected Access Specifier
Derived Class Declaration
Member Function Overriding
Forms of Inheritance: single, multiple, multilevel, hierarchical, hybrid, multipath
Multipath Inheritance and Virtual Base Class
Constructor Invocation in Single and Multiple Inheritances
Destructor in Single and Multiple Inheritances
Polymorphism and Dynamic Binding
Need of Virtual Function
Pointer to Derived Class
Definition of Virtual Functions
Array of Pointers to Base Class
Pure Virtual functions and Abstract Class
Virtual Destructor
reinterpret_cast Operator
Run-Time Type Information
dynamic_cast Operator
typeid Operator
Stream Computation for Console and File Input /Output
Stream Class Hierarchy for Console Input /Output
Testing Stream Errors
Unformatted Input /Output
Formatted Input /Output with ios Member functions and Flags
Formatting with Manipulators
Stream Operator Overloading
File Input/output with Streams
File Stream Class Hierarchy
Opening and Closing files
Read/Write from File
File Access Pointers and their Manipulators
Sequential and Random Access to File
Testing Errors during File Operations
Templates
Function Template
Overloading Function Template
Overloading with Functions
Overloading with other Template
Class Template
Function Definition of Class Template
Non-Template Type Arguments
Default Arguments with Class Template
Derived Class Template
Introduction to Standard Template Library
Containers
Algorithms
Iterators
Exception Handling
Error Handling
Exception Handling Constructs (try, catch, throw)
Advantage over Conventional Error Handling
Multiple Exception Handling
Rethrowing Exception
Catching All Exceptions
Exception with Arguments
Exceptions Specification for Function
Handling Uncaught and Unexpected Exceptions