Description
Currently, the repository contains resources for OOP using Java, but lacks a dedicated track for C++. This proposal aims to implement a comprehensive C++ OOP curriculum, covering everything from basic syntax and pointers to advanced concepts like Virtual Functions, Exception Handling, and the Standard Template Library (STL).
Why should this be added?
- Industry Standard: C++ is the backbone of system programming, game development, and high-performance applications.
- Curriculum Alignment: Many technical universities prioritize C++ for teaching core OOP principles.
- Memory Management: Unlike Java, C++ allows students to learn explicit memory management (Pointers, DMA), which is crucial for understanding how software interacts with hardware.
Proposed Syllabus & Modules
Unit I: Introduction & Foundations
- OOP Basics: Concepts, benefits, and comparison between Structured vs. Object-Oriented programming.
- Design: OOD steps and development examples.
- Memory & Functions: Multi-dimensional arrays, Pointer arithmetic, Arrays of pointers, Inline functions, and Function Overloading.
Unit II: Classes and Objects
- Core Syntax: Data types, operators, and control structures.
- Encapsulation: Access specifiers (public/private/protected), Constructors, and Destructors.
- Advanced Mechanics: Operator Overloading, Type Conversion, and Dynamic Memory Allocation (new/delete).
- Storage Classes: Fixed vs. Automatic, Scope, and Register specifiers.
Unit III: Inheritance & Exception Handling
- Inheritance Models: Single, Multiple, Multi-level, Hierarchical, and Hybrid inheritance.
- Polymorphism: Virtual functions and late binding.
- Error Management: Try-catch blocks, throwing exceptions, and handling specific exception lists.
Unit IV: Streams and File Handling
- File I/O: Opening/closing files, file pointers, and sequential vs. random access.
- Command Line: Handling arguments and multi-file programs.
- Custom Classes: Implementation of Date, Array, List, and Queue classes.
Unit V: Standard Template Library (STL)
- General Theory: Overview of STL operations.
- Components: Containers (Vectors, Lists), Algorithms (Sorting, Searching), and Iterators.
References
- Bjarne Stroustrup, “The C++ programming Language”, 4th Edition, 2022.
- Forouzan & Gilberg, “C++ Programming: An Object-Oriented Approach”, 1st Edition, 2022.
- Deitel & Deitel, “C++ for Programmers”, 10th Edition.
Contribution Details
- Program: GSSoC 2026
- Status: I would like to work on this issue. Please assign it to me.
Description
Currently, the repository contains resources for OOP using Java, but lacks a dedicated track for C++. This proposal aims to implement a comprehensive C++ OOP curriculum, covering everything from basic syntax and pointers to advanced concepts like Virtual Functions, Exception Handling, and the Standard Template Library (STL).
Why should this be added?
Proposed Syllabus & Modules
Unit I: Introduction & Foundations
Unit II: Classes and Objects
Unit III: Inheritance & Exception Handling
Unit IV: Streams and File Handling
Unit V: Standard Template Library (STL)
References
Contribution Details