C++ is a general-purpose, multi-paradigm programming language supports procedural, functional, object-oriented, generic ways of writing code.
Note: Still most of the article are pending, some of them were completed which are linked below . I hope you will understand and comeback after, I’ll try my best to complete them ASAP. Sorry for inconvenience.
C++ Topics
- Basic fundamentals of C++ Programming
- Input and output
- Operators
- Arrays
- Functions
- Pointers and References
- File Handling
- Dynamic memory allocation
- Object Oriented Programming(OOP)
- Inheritance
- Constructor and Destructor
- Overloading
- Operator Overloading
- Virtual Functions
- Exception Handling
- C++ Standard Template Library (STL)
Details of each topic
Basics
- C++ Programming Language Introduction
- Installing MinGW Compiler
- Installing Codeblocks
- Structure of C++ program
- void main() or main() or int main()
- Keywords in C++
- Data Types
- Input/Output
- Operators
- Conditional statements
- Loops
- Storage Classes
- Preprocessors directives
- Switch statement
- Control Statements in C/C++
- Tokens in C++
Input and output
- Basic Input/Output
- endl vs \n
Operators
- Operators
- Unary operators in C/C++
- Conditionally assign a value without using conditional and arithmetic operators
- Set a variable without using Arithmetic, Relational or Conditional Operator
- Scope Resolution Operator
- Pre-increment or pre-decrement
- new and delete operator
Arrays
- Arrays in C/C++
- Array of Strings
- Multidimensional arrays in C/C++
- Find size of array in C/C++ without using sizeof
- reverse a string+
- Tokenizing a string
- Print size of array parameter
Functions
- Functions
- Default Arguments
- Argument and return values
- Inline Functions
- Return from void functions
- Returning multiple values from a function
- Functors
- Ciel and floor functions
- Const member functions
Pointers and References
- Pointers
- Array Decay
- Opaque Pointer
- References
- Can references refer to invalid location?
- Pass arguments by reference or pointer
- ‘this’ pointer
- “delete this”
- Dangling, Void , Null and Wild Pointers
- Passing by pointer Vs Passing by Reference
- Smart Pointers
- NaN in C++
- Pointers vs References in C++
File Handling
- Opening, closing, writing and reading a file
- Special operations in a File
- File Position Pointers
Dynamic memory allocation
- new and delete operator
- malloc() vs new
- delete() and free()
Object Oriented Programming (OOPs)
- Introduction to OOP
- Classes and Objects
- Access Modifiers
- Inheritance
- Polymorphism
- Encapsulation
- Data Abstraction
- Structure vs class
- Static data members
- Friend class and function
- Local Class
- Nested Classes
Inheritance
- Inheritance intro
- Runtime Polymorphism
- Multiple Inheritance
- Object Slicing in
- Inheritance and friendship
- Simulating final class
Constructor and Destructor
- Constructors
- Copy Constructor
- Destructors
- When is copy constructor called?
- Initialization of data members
- explicit keyword
- Initializer List
- Default Constructors
- Private Destructor
- Copy elision
- Virtual Constructor
- Virtual Copy Constructor
- calling constructor and destructor explicitly
Overloading
- Function Overloading
- Functions that can’t be overloaded
- Overloading with Inheritance
- Can main() be overloaded
- Function Overloading and float
- Operator Overloading
- Copy constructor
- Assignment operator
- Operators that cannot be overloadedConversion Operators
- Default Assignment Operator and References
- Overloading stream insertion (<<) and extraction (>>) operators
Virtual Functions
- Virtual Functions
- Runtime Polymorphism
- Default arguments and virtual function
- Virtual functions in derived classes
- Can static functions be virtual?
- Virtual Destructor
- Virtual Constructor
- Virtual Copy Constructor
- Run-time type information
- Private virtual functions
- Inline virtual function
- Pure Virtual Functions and Abstract Classes
- Pure virtual destructor
Exception Handling
- Exception Handling Basics
- Catching base and derived classes as exceptions
- Catch block and type conversion
- Exception handling and object destruction
C++ Standard Template Library (STL)
- Introduction to STL
- Sorting
- Searching
- Pair
- Vector
- List
- Forward List
- Queue
- Dequeue
- Priority Queue
- Stack
- Set
- Multiset
- unordered_set
- unordered_multiset
- map
- unordered_map
- Heap using STL
- Multimap