C++ Tutorial
C++ Introduction
C++ is an object-oriented programming language. It was developed by Bjarne Stroustrup at AT&T Bell Laboratories. It is superset (extension) of C programming language.
Depending upon features supported by programming languages, they are classified into two different categories:
- Object-based programming languages
- Object-oriented programming languages
Object-based programming language
The language that supports programming using objects is called object-based programming language. Important features of object-based programming languages are:
- Data encapsulation
- Data hiding
- Operator overloading
- Automatic initialization
Object-oriented programming language
Object-oriented programming supports the features of object-based programming along with inheritance and dynamic binding.
C++ fully supports object-oriented programming. To understand Object-Oriented programming, we need to know the concept of a major pillar of it:
- Object
- Class
- Data abstraction
- Encapsulation
- Polymorphism
- Inheritance
- Dynamic binding
- Message passing
C++ is not a pure object-oriented language. Object-oriented means working with object and class, but in C++ program can be written without using class.
C++ Usages
C++ program is applied in a large number of different sector. Some of them are as follow:
- Windows System
- Real-time system
- Object-oriented database
- Artificial Intelligence
- Device driver etc.
C++ Example
We have given online editor option with each C++ example. So, you can edit any example and see the changed output.
#include <iostream>
using namespace std;
int main() {
cout << "Hello C++ by TutorialAndExample";
return 0;
}
Output:
Hello C++ by TutorialAndExample
Prerequisite
To learn C++, you must have knowledge of computer fundamentals only.
Audience
This C++ tutorial is written to help beginners and professionals.
C++ Tutorial Index
C++ Basics
- C++ Tutorial
- C++ History
- C++ Installation
- C++ First Program
- C++ cin and cout
- C++ Data type
- C++ Variable
- C++ operator
- C++ Keywords
C++ Control Statements
- C++ If
- C++ Nested if
- C++ If-else
- C++ If-else-if
- C++ Switch
- C++ Break
- C++ Continue
- C++ Goto
- C++ For loop
- C++ While loop
- C++ Do while loop
C++ Functions
- C++ Call by Value
- C++ Call by Reference
- C++ Recursion Function
- C++ Inline function
- C++ Friend function
C++ Arrays
C++ Strings
C++ Inheritance
- Single level Inheritance
- Multilevel Inheritance
- Multiple Inheritance
- Hierarchical Inheritance
- Hybrid Inheritance
C++ Polymorphism
C++ Pointers
C++ Exception Handling
C++ Constructors
- C++ Constructors
- Default Constructor
- Parameterize Constructor
- Copy constructor
- Constructor Overloading
- Destructor
C++ File Handling
Miscellaneous
- C Vs C++
- C++ Comments
- C++ Data Abstraction
- C++ Identifier
- C++ Memory Management
- C++ Storage Classes
- C++ Void Pointer
- C++ Array To Function
- C++ Expressions
- C++ Features
- C++ Interfaces
- C++ Encapsulation
- std::min in C++
- External merge sort in C++
- Remove duplicates from sorted array in C++
- Precision of floating point numbers Using these functions floor(), ceil(), trunc(), round() and setprecision() in C++
- C++ References
- C++ Friend Functions
- C++ Mutable keyword
- Unary Operators in C++
- Initialize Array of objects with parameterized constructors in C++
- Differences between #define & const in C/C++
- C++ Program to Implement Shell Sort
- C++ Program to Implement Merge Sort
- Storage Classes in C
- Vector resize() in C++
- Passing by Reference Vs. Passing by the pointer in C++
- Free vs delete() in C++
- goto statement in C and C++
- C++ program to read string using cin.getline()
- C++ String Concatenation
- Heap Sort in C++
- Swap numbers in C++
- Input Iterators in C++
- Fibonacci Series in C++
- C ++ Program: Alphabet Triangle and Number Triangle
- C++ Program: Matrix Multiplication
- C++ Program to Print Fibonacci Triangle
- Stack in C++
- Maps in C++
- Queue in C++
- C++ Bitset
- C++ Algorithms
- Priority Queue in C++
- C++ Multimap
- C++ Deque
- Function Pointer in C++
- Sizeof() Operators in C++
- C++ array of Pointers
- free() Vs delete in C
- Timsort Implementation Using C++
- CPP Templates
- C++ Aggregation
- C++ Enumeration
- C++ Math Functions
- C++ Object Class
- C++ Queue
- Initialize Vector in C++
- Vector in C++
- C++ STL Components
- Function overloading in C++
- C++ Maximum Index Problem
- C++ find missing in the second array
- C++ Program to find the product array puzzle
- C++ Program To Find Largest Subarray With 0 Sum
- C++ Program To Move All Zeros To The End Of The Array
- C++ Program to find the element that occurs once
- C++ Program to find the largest number formed from an array
- Constructor Vs Destructor
- C++ Namespaces
- C++ OOPs Concept
- C++ Static
- C++ Structs
- C++ Try-Catch
- C++ User Defined Exceptions
- C++ Virtual Destructor
- C++ vs C#
- Malloc() and new in C++
- Palindrome Number Program in C++
- Snake Code in C++
- Splitting a string in C++
- Structure Vs Class in C++
- Virtual Function Vs Pure Virtual Function
- C++ Bidirectional Iterators
- C++ Forward Iterators
- C++ Iterators
- C++ Output Iterators
- C++ Range-based For Loop
- Converting string into integer in C++
- LCM Program in C++
- Type conversion in C++
- Add two numbers using the function in C++
- Advantage and disadvantage friend function C++
- Armstrong Number Program in C++
- ATM machine program in C++ using functions
- Binary to Decimal in C++
- Bit Manipulation in C++
- C++ Constructor
- C++ Dijkstra Algorithm Using the Priority Queue
- C++ int into String
- C++ Signal Handling
- Decimal to Binary in C++
- Decimal to Hexadecimal in C++
- Decimal to Octal in C++
- Factorial Program in C++
- Function in C++
- Hexadecimal to Decimal in C++
- Octal to Decimal in C++
- Reverse a Number in C++
- Structure Vs Class in C++
- C++ Forward Iterators
- C++ Output Iterators
- C++ Prime number program
- Char Array to String in C++
- Constructor Overloading in C++
- Default arguments in C++
- Different Ways to Compare Strings in C++
- Dynamic Binding in C++
- Program to convert infix to postfix expression in C++
- SET Data Structure in C++
- Upcasting and Downcasting in C++
- Reverse an Array in C++
- Fast Input and Output in C++
- Delete Operator in C++
- Copy elision in C++
- C++ Date and Time
- C++ Bitwise XOR Operator
- Array of sets in C++
- Binary Operator Overloading in C++
- Binary Search in C++
- Implementing the sets without C++ STL containers
- Scope Resolution Operator in C++
- Smart pointers in C++
- Types of polymorphism in C++
- Exception Handling in C++ vs Java
- Const Keyword in C++
- Type Casting in C++
- Static keyword in C++ vs Java
- Inheritance in C++ vs Java
- How to concatenate two strings in C++
- Memset in C++
- Programs to Print Pyramid Patterns in C++
- swap() function in C++
- Structure of C++ Program
- Stringstream in C++ and its applications
- rand() and srand() in C / C++
- C++ Ternary Operator
- C++ Scope of Variables
- While Loop Examples in C++
- Star pattern in C++ using For Loops
- For Loop Examples in C++
- Do-While Loop Examples in C++
- Top 5 IDEs for C++ That You Should Try Once
- Assertions in C/C++
- C++ Convert Int to String
- Continue in C++ While loop
- Diamond Pattern in C++ using For Loop
- How to Reverse a String in C++ using Do-While Loop
- How to Reverse a String in C++ using For Loop
- How to Reverse a String in C++ using While Loop
- Infinite loop in C++
- Loops in C++
- Returning Multiple Values from a Function using Tuple and Pair in C++
- wcscpy(), wcslen(), wcscmp() Functions in C++
- Auto keyword in C++
- C++ 11 vs C++ 14 vs C++ 17
- C++ STL (Standard Template Library)
- Differences Between C Structures and C++ Structures
- Divide by Zero Exception in C++
- Dynamic Constructor in C++
- Dynamic Memory Allocation in C++
- Find the Size of Array in C/C++ without using sizeof() function
- Floating Point Operations and Associativity in C, C++ and Java
- Hello World Program in C++
- How to create a table in C++
- How to Setup Environment for C++ Programming on Mac
- Implementation of a Falling Matrix in C++
- Message Passing in C++
- Pointer to Object in C++
- Templates in C++ vs Generics in Java
- Ways to Copy a Vector in C++
- What does Buffer Flush mean in C++
- sort() function in C++
- Structure Sorting (By Multiple Rules) in C++
- Similarities between C++ and Java
- std::distance in C++
- Reverse function in C++
- This keyword in C++
- Array program in C++
- C++ Tricks for Competitive Programming
- Desired Capabilities in Selenium Web Driver in C++
- Socket Programming in C++
- Template Specialization in C++
- Classes and Objects in C++
- Convex hull Algorithm in C++
- DES in C++
- C++ vardiac() function
- Difference between Two Sets in C++
- Difference between Exit and Return
- Structured Binding in C++
- Differences between Local and Global Variable
- Bitwise Operator vs Logical Operator
- Difference between OOP and POP in C++
- Fork in C++
- Functors in C++
- How to call a void function in C++
- How to create a directory or folder in C/C++
- How to create a library in C++
- How to create a stack in C++
- How to create the Processes with Fork in C++
- How to Handle Divide by Zero Exception in C++
- Lambda Expression in C++
- Pattern programs in C++
- Roadmap to C++ Programming
- Substring in C++
- Virtual base class in C++
- Bits stdc++.h in C++
- Top 14 Best Free C++ IDE (Editor & Compiler) for Windows in 2022
- Bitmasking in C++
- Auto Keyword in C++
- Features of OOPS in C++
- Hospital Management Project in C++
- How to Declare Unordered Sets in C++
- How to Sort an Array in C++
- Include Guards in C++
- Iostream in C++
- Method overriding in C++
- How to run program in turbo c++
- How to Use Getline in C++
- Leap Year Program in C++
- Naming Convention in C++
- New Operator in C++
- Nullptr in C++
- Object Slicing in C++
- Principles of Object-Oriented Programming in C++
- Processing strings using std string stream in C++
- Pure Virtual Function in C++ With Example Program
- Random Number Generator in C++
- Singleton Design Pattern in C++
- Size_t Data Type in C++
- Skyline Problem in C++
- System() function in C++
- Web Development in C++
- Data Hiding in C++
- Difference between exit() and _Exit() in C++
- Hashing in C++
- Object in C++
- Sum of all Elements between k1’th and k2’th Smallest Elements
- Virtual class in C++
- Vector Size in C++
- Top best IDEs for C/C++ Developers in 2022
- Tensorflow in C++
- Sliding Window Technique in C++
- Reverse String Word-Wise in C++
- Returning a Function Pointer from a Function in C/C++
- RTTI in C++
- Pthreads or POSIX Threads in C++
- Reserved Keywords in C++
- Passing a Vector to a function in C++
- 10 Best C and C++ Books for Beginners & Advanced Programmers
- Add two numbers represented by two arrays in C++
- Array of Object in C++
- C++ Program For FCFS
- Containership in C++
- Counting Frequencies of Array Elements in C++
- Decltype type Specifier in C++
- Dynamic _Cast in C++
- Difference between int main() and int main(void) in C/C++
- Depth First Search Program to Traverse a Graph in C++
- Features and Use Of Pointers in C/C++
- Fread Function in C++ Programming
- Fscanf Function in The C++
- Functions in C++ With Types and Examples
- Gmtime Function in C/C++
- How is Multiset Implemented in C++
- How to Build a Program in C++
- How to Declare a 2d Array Dynamically in C++
- inheritance Program in C++
- int Max and int Min in C/C++
- Is it fine to Write Void Main or Main in C/C++
- Lambda Expressions in C++
- How to create a button in C++
- abs() function in C++
- Compile Time Polymorphism in C++
- Division in C++
- Factorial of a Number in C++ using while Loop
- Multiset in C++
- 4 Pillars of OOPs
- Approach in C++
- Backtracking Time Complexity in C++
- C++ Global Variable
- C++ Pipe Tutorial
- Observer Design Pattern in C++
- Private Inheritance in C++
- Pthread in C++ Parameters
- SDL library in C++ with Examples
- Pointers in C++
- Abstract Factory Design Pattern in C++