/cpp

Primary LanguageC++

  • c++

C++ is a general-purpose programming language that was first developed in the 1980s. The language was designed by Bjarne Stroustrup under the name "C with classes".

C++ is a version of C that includes Object-Oriented elements, including classes and functions.

C++ Project

This C++ project is divided into several modules, each covering specific aspects of the C++ language and programming concepts. Below is an overview of each module:

cpp_module_00:

Namespaces, Classes, Member Functions, stdio Streams, Initialization Lists, Static, Const, and Basic Concepts

  • Namespaces: Introduction to namespaces for organizing code.
  • Classes: Definition and implementation of classes to encapsulate data and behavior.
  • Member Functions: Implementation of member functions within classes.
  • stdio Streams: Basic input and output using standard streams.
  • Initialization Lists: Utilizing initialization lists for efficient member initialization.
  • Static: Understanding static members within classes.
  • Const: Proper usage of const qualifiers for member functions and variables.
  • Other Basic Concepts: Introduction to fundamental C++ concepts.

cpp_module_01:

Memory Allocation, Pointers to Members, References, Switch Statement

  • Memory Allocation: Dynamic memory allocation and deallocation.
  • Pointers to Members: Understanding pointers to class members.
  • References: Usage of references in C++.
  • Switch Statement: Implementation and usage of the switch statement.

cpp_module_02:

Ad-hoc Polymorphism, Operator Overloading, Orthodox Canonical Class Form

  • Ad-hoc Polymorphism: Introduction to ad-hoc polymorphism in C++.
  • Operator Overloading: Overloading operators for user-defined types.
  • Orthodox Canonical Class Form: Defining the canonical form for classes in C++.

cpp_module_03:

Inheritance

  • Inheritance: Understanding and implementing inheritance in C++.

cpp_module_04:

Subtype Polymorphism, Abstract Classes, Interfaces

  • Subtype Polymorphism: Implementation and usage of subtype polymorphism.
  • Abstract Classes: Creation of abstract classes and pure virtual functions.
  • Interfaces: Defining and implementing interfaces in C++.

cpp_module_05:

Repetition and Exceptions

  • Repetition: Review and practice of concepts covered in previous modules.
  • Exceptions: Introduction to exception handling in C++.

cpp_module_06:

C++ Casts

  • C++ Casts: Understanding different types of casts available in C++.

cpp_module_07:

C++ Templates

  • C++ Templates: Introduction to template programming in C++.

cpp_module_08:

  • Templated Containers: Introduction to templated containers for generic data storage.
  • Iterators: Usage of iterators for traversing containers.
  • Algorithms: Implementation and usage of standard algorithms for data manipulation.

cpp_module_09:

  • STL: Utilization of the Standard Template Library for efficient data structures and algorithms.
  • Constraints: Application of constraints to limit template parameter types.
  • Reverse Polish Notation: Understanding and implementing the Reverse Polish Notation for mathematical expressions.
  • Merge-Insert Sort Algorithm: Introduction to the merge-insert sort algorithm for efficient sorting.
  • Ford-Johnson Algorithm: Understanding and implementing the Ford-Johnson algorithm for finding shortest paths in a graph.