C | C++ Programming in Multan
Duration 3-Month:
Course Description
C++ is the object oriented superset of ANSI C. This course provides students with a comprehensive study of the C++ Programming Language. The course stresses the object paradigm including classes, inheritance, virtual functions, and templates in the development of C++ programs. Lab exercises reinforce the lectures. Students should have taken the Software Development for Non-Programmers and Introduction to C courses or have equivalent knowledge.
CHAPTER 1: PERSPECTIVE
- The Software Crisis
- Design Techniques
- Large Software Systems
- Roots of Object Technology
- What Is Object-Oriented Programming?
- C++ and Object-Oriented Programming
- Why C++?
- Features of C++
- Pros and Cons of C++
CHAPTER 2: THE LANGUAGE OF (OOP)
- What Is an Object?
- What Is a Class?
- Encapsulation
- Data Hiding
- The Public Interface
- Relationships Among Classes
- Inheritance
- Polymorphism
- Object-Oriented Design
CHAPTER 3: C VS. C++
- Comments
- Namespaces
- Simple Output
- Simple Input
- Definitions Near to First Use
- Function Prototypes
- The inline Specifies
- const
- Structure Members
- The Reference Type
- Overloading Function Names
- Default Parameters
- The Scope Resolution Operator
- Aggregates
- Operators new and delete
- The bool Data Type
- The string Data Type
CHAPTER 4: FUNDAMENTALS OF CLASSES
- Data Types
- User Defined Data Types
- Using the Class Concept
- Defining a Class
- public and private Access Levels
- The Scope Resolution Operator ::
- Using Class Objects Like Built-in Types
- Scope
- Constructors
- Member Initialization Lists
- Destructors
- Array of Objects
- Pointers
- The this Pointer
- Passing Objects to Functions
- Returning Objects From Functions
- static Class Members
CHAPTER 5: OPERATOR OVERLOADING
- Introduction
- Rules for Operator Overloading
- Rationale for Operator Overloading
- Overloading Member Functions
- Overloading Non-Member Functions
- friend Functions
- The Copy Constructor
- The Assignment Operator
- Overloading [ ]
- Overloading Increment and Decrement Operators
- const Objects and References
CHAPTER 6: COMPOSITION OF CLASSES
- Relationships
- Composition of Classes
- The Point Class
- The Line Class
- Member Initialization Lists
- An Application With Composition
- The Copy Constructor under Composition
- operator= under Composition
CHAPTER 7: INHERITANCE
- Introduction
- Public Base Classes
- The protected Access Level
- Member Initialization Lists
- What Isn’t Inherited
- Assignments Between Base and Derived Objects
- Compile-Time vs. Run-Time Binding
- virtual Functions
- Polymorphism
- virtual Destructors
- Pure virtual Functions
- Abstract Base Classes
- An Extended Inheritance Example
CHAPTER 8: I/O IN C++
- The iostream Library
- Predefined Streams
- Overloading operator<<
- Overloading operator>>
- Manipulators
- Stream States
- Formatted I/O
- Disk Files
- Reading and Writing Objects
CHAPTER 9: ADVANCED TOPICS
- Template Functions
- Template Classes
- Multiple Inheritance
- User-Defined Conversions
- Data Structures
- An Iterator Class
- Exceptions
CHAPTER 10: INTRODUCTION TO THE STANDARD TEMPLATE LIBRARY
- Introduction
- The Standard Template Library
- Design Goals
- STL Components
- Iterators
- Example: vector
- Example: list
- Example: set
- Example: map
- Example: find
- Example: merge
- Example: accumulate
- Function Objects
- Adapters
BENEFITS OF ATTENDANCE:
Upon completion of this course, students will be able to:
- Explain how object-oriented software engineering enhances the software development process.
- Identify the major elements in an object-oriented programming language.
- Implement the concepts of data abstraction and encapsulation in the creation of abstract data types.
- Implement operator overloading.
- Use inheritance in C++.
- Select the proper class protection mechanism.
- Demonstrate the use of virtual functions to implement polymorphism.
- Write programs utilizing the I/O classes in C++.
- Understand some advanced features of C++ including templates, exceptions, and multiple inheritance.
- Compare the object vs the procedural approach to writing software.
- Use correct object oriented terminology.
- Define and use classes in a C++ program.
- Create and use abstract data types.
- Derive classes using inheritance in C++.
- Implement polymorphism by using virtual functions in a program.