Welcome to the "Programming with C++" course repository! This repository contains a comprehensive collection of topics covered in the course. Each unit is outlined below for your reference.
- Overview: Introduction to C++ programming.
- Input/Output: Input and output operations in C++.
- Program Structure: Syntax and structure of C++ programs.
- Namespaces: Organizing code using namespaces.
- Identifiers, Variables, Constants: Naming conventions and data storage.
- Enumeration (enum): Enumerated data types.
- Operators: Understanding and using operators.
- Typecasting: Converting between data types.
- Control Structures: If-else, switch, and loops.
- Simple Functions: Basics of function definition.
- Call and Return by Reference: Passing parameters by reference.
- Inline Functions: Benefits of inline functions.
- Macro Vs. Inline Functions: Comparison between macros and inline functions.
- Function Overloading: Overloading functions.
- Default Arguments: Using default arguments in functions.
- Friend Functions: Friend functions in C++.
- Virtual Functions: Introduction to virtual functions for polymorphism.
- Basics of Object and Class: Introduction to object-oriented programming.
- Private, Public and Protected Members: Access control specifiers.
- Static Data and Function Members: Static members in classes.
- Constructors and Their Types: Different types of constructors.
- Destructors: The role of destructors.
- Operator Overloading: Overloading operators.
- Type Conversion: Converting between data types.
- Concept of Inheritance: Introduction to inheritance.
- Types of Inheritance: Single, multiple, multilevel, hierarchical, hybrid.
- Protected Members in Inheritance: Access control in inherited classes.
- Virtual Base Class: Understanding virtual base classes.
- Pointers in C++: Pointers and their usage.
- Pointers and Objects: Working with pointers and objects.
- This Pointer: The "this" pointer in C++.
- Virtual and Pure Virtual Functions: Implementing polymorphism.
- Concept of Streams: Introduction to streams.
- cin and cout Objects: Input and output stream objects.
- C++ Stream Classes: Working with stream classes.
- Unformatted and Formatted I/O: Input/output formatting.
- Manipulators: Using manipulators for formatting.
- File Stream: File input and output operations.
- C++ File Stream Classes: Working with file streams.
- File Management Functions: Managing files.
- File Modes: Different file modes (text, binary, etc.).
- Binary and Random Files: Handling binary and random access files.
- Template: Understanding templates.
- Function Templates: Using function templates.
- Overloading of Function Templates: Overloading templates.
- Arguments in Function Templates: Parameters in template functions.
- Class Templates: Basics of class templates.
- Inheritance of Class Templates: Inheriting class templates.
- Class Templates with Overloaded Operators: Operator overloading in class templates.
- Introduction to Exception: Understanding exceptions.
- try-catch-throw: Exception handling using try-catch blocks.
- Multiple Catch: Handling multiple exceptions.
- Catch All: Catching unknown exceptions.
- Rethrowing Exception: Re-throwing exceptions.
- Implementing User Defined Exceptions: Custom exception handling.
- Overview and Use of Standard Template Library (STL): Introduction to STL.
- Exceptions in Constructors and Destructors: Handling exceptions in constructors and destructors.
- Uncaught Exceptions Handling: Managing uncaught exceptions.
- Exceptions in Class Templates: Handling exceptions in class templates.
- Exceptions in Operator Overloaded Functions: Dealing with exceptions in operator-overloaded functions.
This repository serves as a valuable resource for students taking the "Programming with C++" course. You can explore each unit for in-depth explanations and examples.
Feel free to contribute to this repository, report issues, or ask questions. Happy coding!