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++ Tutorial
- C++ History
- C++ installation
- C++ First Program
- C++ cin and cout
- C++ Data type
- C++ Variable
- C++ operator
- C++ Keywords
- C++ OOPS Concepts
- 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
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
- function in C++
- C++ Call by Value
- C++ Call by Reference
- C++ Recursion function
- C++ inline function
- C++ Friend function
- C++ Friend functions
- function Pointer in C++
- Sizeof() Operators in C++
- C++ Math functions
- swap() function in C++
- rand() and srand() in C / C++
- wcscpy(), wcslen(), wcscmp() functions in C++
- sort() function in C++
- C++ vardiac() function
- System() function in C++
- Fread function in C++ Programming
- Fscanf function in The C++
- Gmtime function in C/C++
- abs() function in C++
- Sleep function in C++
- Stoi function in C++
- String erase() in C++
- String Trim in C++
- isprint() function in c++
- is_trivial function in C++
- div() function in C++
- Set insert function in C++
- rint(), rintf(), rintl() in C++
- String append() function in C++
- String push_back() in C++
- String replace() in C++
- Transform function in C++
- exit() and _Exit() in C and C++
- Std partition_point in C++
- unique() in C++
- ctime() function in C++
- Gets() and Puts() in C++
- Hypot(), hypotf() and hypotl() in C++
- Log function in C++
- Nearbyint() function in C++
- setf() function in C++
- Fill Function in C++
- Map Find Function in C++
- Malloc and Calloc in C++
- Operator Function in C++
- cin.get() in C++
- seekp() Function in C++
- eof() Function in C++
- Emplace Back in C++
- C++ macro function
- C_str in C++
- Clock() in C/C++
- round() function in C++
- scalbn() function in C++
- Stable Sort function in C++
- Rotate in C++
- Std:: Sort_heap in C++
- Std::includes() in C++ STL
- std::memset() function in C++
- Wcscmp() function in C++
- Static Member function in C++
- atof() function in C++
- C++ Sin() function with Example
- cin.ignore() function in C++
- Member function in C++
- Pop_front Vector in C++
- Vector resize() in C++
- Malloc() and new in C++
- std::distance in C++
- C++ Date and Time
- fork() in C++
- std::min in C++
- isprint() in C++
- rdbuf() in C++
- fixed() Function in C++
- setw() in C++
- seekg() Function in C++
- isdigit() Function in C++
C++ Function Miscellaneous
- Precision of floating point numbers Using these functions floor(), ceil(), trunc(), round() and setprecision() in C++
- function overloading in C++
- Add two numbers using the function in C++
- Advantage and disadvantage friend function C++
- ATM machine program in C++ using functions
- Returning Multiple Values from a function using Tuple and Pair in C++
- Find the Size of Array in C/C++ without using sizeof() function
- Pure Virtual function in C++ With Example Program
- Returning a function Pointer from a function in C/C++
- Passing a Vector to a function in C++
- functions in C++ With Types and Examples
- C++ Macro function Example
- Using Default Arguments with Virtual functions
- Virtual functions and Runtime Polymorphism
- Fesetround() and Fegetround() in C++ and their application
- Object as function Argument in C++
- Private Member function in C++
- Function Overriding in C++
- C++ Program for Addition of Two Numbers Using functions
- function Object in C++
- Elements of User Defined function in C++
- Inline Functions in C++
C++ Arrays
C++ Strings
C++ Inheritance
- 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
C++ Programs
- Structure of C++ Program
- Hello World Program in C++
- C++ Program to Implement Shell Sort
- C++ Program to Implement Merge Sort
- C++ program to read string using cin.getline()
- C ++ Program: Alphabet Triangle and Number Triangle
- C++ Program: Matrix Multiplication
- C++ Program to Print Fibonacci Triangle
- 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
- Palindrome Number Program in C++
- LCM Program in C++
- Armstrong Number Program in C++
- Factorial Program in C++
- C++ Prime number program
- Program to convert infix to postfix expression in C++
- Programs to Print Pyramid Patterns in C++
- Array program in C++
- Pattern programs in C++
- Leap Year Program in C++
- C++ Program for FCFS
- Depth First Search Program to Traverse a Graph in C++
- inheritance Program in C++
- Program that produces different results in C and C++
- Example Program in C++ for input and Output
- Calculator Program using Switch in C++
- Program for COPY Constructor in C++
- Bank Program in C++
- Anagram Program in C++
C++ Operators
- Unary Operators in C++
- Delete Operator in C++
- C++ Bitwise XOR Operator
- Binary Operator Overloading in C++
- Scope Resolution Operator in C++
- C++ Ternary Operator
- New Operator in C++
- Overloading array index operator in C++
- Operator overloading in C++
- Operators that cannot be overloaded in C++
- Default Assignment Operator and References in C++
- Conversion Operator in C++
- Unary Operator Overloading in C++
- Benefits of Operator Overloading in C++
- Assignment Operator Overloading in C++
- New and Delete Operator in C++
- Insertion Operator in C++
- Increment Operator in C++
- Bitwise Operator in C++
C++ Examples
- C++ Programming Examples
- While Loop Examples in C++
- for Loop Examples in C++
- Do-While Loop Examples in C++
- SDL library in C++ with Examples
- C++ tcp client server example
- C++ tcp server example
- TCP Client Server Example in C++
- Example of Parameterized Constructor in C++
- Example of User Defined Data Type in C++
C++ Differences
- C Vs C++
- free() vs delete() in C++
- Constructor Vs Destructor
- Passing by Reference Vs. Passing by the pointer in C++
- C++ vs C#
- Structure Vs Class in C++
- Virtual function Vs Pure Virtual function
- Structure Vs Class in C++
- Exception Handling in C++ vs Java
- Static keyword in C++ vs Java
- inheritance in C++ vs Java
- C++ 11 vs C++ 14 vs C++ 17
- Templates in C++ vs Generics in Java
- Bitwise Operator vs Logical Operator
- Type difference of Character literals in C VS C++
- Copy Constructor vs Assignment Operator in C++
- Map vs unordered_map in C++
- Differences between #define & const in C/C++
- Differences Between C Structures and C++ Structures
- Difference between Two Sets in C++
- Difference between Exit and Return
- Differences between Local and Global Variable
- Difference between OOP and POP in C++
- Difference between exit() and _Exit() in C++
- Difference between int main() and int main(void) in C/C++
- Difference Between Overloading and Overriding in C++
- std::set_symmetric_difference in C++
- Difference between Private and Protected in C++
- Difference Between Encapsulation and Abstraction in C++
- Difference between Template and Macro in C++
How To
- How to concatenate two strings in C++
- 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
- How to create a table in C++
- How to Setup Environment for C++ Programming on Mac
- 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++
- How to Declare Unordered Sets in C++
- How to Sort an Array in C++
- How to run program in turbo c++
- How to Use Getline in C++
- How is Multiset Implemented in C++
- How to Build a Program in C++
- How to Declare a 2d Array Dynamically in C++
- How to create a button in C++
- How the value is passed in C++
- How to calculate size of string in C++
- How to convert binary string to int in C++
- How to convert string to float in C++
- How to remove space from string in C++
- How to use pair in C++
- How to use the string find() in C++
- How to Remove an Element From an Array in C++
- How to Take Space Separated input in C++
- How to Copy in Turbo C++
- How to Use Pow in C++
C++ Questions
- What does Buffer Flush mean in C++
- What is endl in C++
- What is Unary Operator Overloading in C++
- Which operators cannot be overloaded in C++
- What is Static Member function in C++
- What is This Pointer in C++
- What is Upcasting in C++
- What Kind of Exceptions Are Available in C++
- What is Memory Allocation for Objects in C++
- What is a Linked List in C++
- is assignment operator inherited in C++
- When should we write own Assignment operator in C++
- What is an Object in C++
- What is Copy Constructor in C++
- What is a Static Member Function in C++
C++ Interview Questions
Miscellaneous
- External merge sort in C++
- Remove duplicates from sorted array in C++
- C++ References
- C++ Mutable keyword
- initialize Array of objects with parameterized constructors in C++
- Storage Classes in C
- goto statement in C and C++
- C++ String Concatenation
- Heap Sort in C++
- Swap numbers in C++
- input Iterators in C++
- Fibonacci Series in C++
- Stack in C++
- Maps in C++
- Queue in C++
- C++ Bitset
- C++ Algorithms
- Priority Queue in C++
- C++ Multimap
- C++ Deque
- C++ array of Pointers
- Timsort Implementation Using C++
- CPP Templates
- C++ Aggregation
- C++ Enumeration
- C++ Object Class
- C++ Queue
- initialize Vector in C++
- Vector in C++
- C++ STL Components
- C++ Maximum index Problem
- C++ find missing in the second array
- C++ Namespaces
- C++ OOPs Concept
- C++ Static
- C++ Structs
- C++ Try-Catch
- C++ User Defined Exceptions
- C++ Virtual Destructor
- Snake Code in C++
- Splitting a string in C++
- C++ Bidirectional Iterators
- C++ forward Iterators
- C++ Iterators
- C++ Output Iterators
- C++ Range-based for Loop
- Converting string into integer in C++
- Type conversion in C++
- 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++
- Hexadecimal to Decimal in C++
- Octal to Decimal in C++
- Reverse a Number in C++
- C++ forward Iterators
- C++ Output Iterators
- 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++
- SET Data Structure in C++
- Upcasting and Downcasting in C++
- Reverse an Array in C++
- Fast input and Output in C++
- Copy elision in C++
- Array of sets in C++
- Binary Search in C++
- Implementing the sets without C++ STL containers
- Smart pointers in C++
- Types of polymorphism in C++
- Const Keyword in C++
- Type Casting in C++
- Stringstream in C++ and its applications
- C++ Scope of Variables
- Star pattern in C++ using for Loops
- 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
- infinite loop in C++
- Loops in C++
- Auto keyword in C++
- C++ STL (Standard Template Library)
- Divide by Zero Exception in C++
- Dynamic Constructor in C++
- Dynamic Memory Allocation in C++
- Floating Point Operations and Associativity in C, C++ and Java
- Implementation of a Falling Matrix in C++
- Message Passing in C++
- Pointer to Object in C++
- Ways to Copy a Vector in C++
- Structure Sorting (By Multiple Rules) in C++
- Similarities between C++ and Java
- 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++
- Structured Binding in C++
- Functors in C++
- Lambda Expression 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++
- Features of OOPS in C++
- Hospital Management Project in C++
- include Guards in C++
- Iostream in C++
- Method overriding in C++
- Naming Convention in C++
- Nullptr in C++
- Object Slicing in C++
- Principles of Object-Oriented Programming in C++
- Processing strings using std string stream in C++
- Random Number Generator in C++
- Singleton Design Pattern in C++
- Size_t Data Type in C++
- Skyline Problem in C++
- Web Development in C++
- Data Hiding 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++
- RTTI in C++
- Pthreads or POSIX Threads in C++
- Reserved Keywords 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++
- Containership in C++
- Counting Frequencies of Array Elements in C++
- Decltype type Specifier in C++
- Dynamic _Cast in C++
- Features and Use of Pointers in C/C++
- int Max and int Min in C/C++
- is It Fine to Write Void Main Or Main in C/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
- Pointers in C++
- Abstract Factory Design Pattern in C++
- Ascending order in C++
- Call by Pointer in C++
- Constexpr in C++
- Deadlock in C++
- Design Patterns in C++
- Factory Method for Designing Pattern in C++
- Name Mangling and extern in C++
- Preventing Object Copy in C++
- Quick Sort in C++
- Single Handling in C++
- Use of inheritance in C++
- User-defined literals in C++
- Vector methods in C++
- Void * in C and C++
- Zombie and Orphan Process in C++
- List and Vector in C++
- List iterators in C++
- Merging Two Vectors in C++
- Early Binding and Late Binding in C++
- Factory Design Pattern in C++
- Fisher-Yates shuffle algorithm in C++
- for Auto in C++
- Group anagrams in C++
- Dynamic Casting in C++
- 2D Vector initialization in C++
- C++ GUI Visual Studio
- C++ IPC
- C++ Permutation
- Overloading Stream insertion in C++
- Array sum in C++ STL
- C++ Define Macro
- C++ Design
- C++ Factory Pattern
- Convert String to Uppercase in C++
- initializer list in C++
- Iterator invalidation in C++
- Lower bound in C++
- Modulus of Two float numbers or double number
- Pass by value in C++
- Stack size in C++
- Unordered_map in C++
- Binary String to int C++
- Boost C++
- Exception handling in constructor and destructor in C++
- Explain class template in C++
- Kadane Algorithm in C++
- Map of Pairs in STL
- Pair in C++
- Access Specifiers in C++
- Add Two Numbers in C++ Using Class
- C++ Socket Programming Windows
- Cube root in C++
- C++ Protected inheritance
- C++ Return Object
- Static Data Members in C++
- Association in C++
- Boost libraries in C++
- Automatic Storage Class in C++
- C++ Move Constructor
- Cast in C++
- C++ 11 Lambda
- C++ Multithreading
- Bottom-up Approach in C++
- C++ Static Class
- C++ Static Member
- C++ Static Variable
- C++ Template Class Implementation
- Kruskals Algorithm in C++
- Kth Permutation Sequence in C++
- Kth Smallest Element Using Priority Queue in C++
- Min Heap in C++
- Multilevel inheritance in C++
- Playfair Cipher Algorithm in C++
- Exception Handling in Java and C++
- Sorting in C++
- Time and Space Complexity for Loops in C++
- Convert Vector To String in C++
- Cascading in C++
- Control Structure in C++
- Passing Object as argument in C++
- Vector Pair in C++
- String Data Types in C++
- Topological Sort in C++
- C++ Move Semantics
- C++ Static Library Linking
- Call by Value and Call by Reference in C++
- Data Structures algorithms and application in C++
- Dereferencing a Pointer in C++
- Linked List in C++
- All Swing Components in C++
- anonymous Object in C++
- Cerr in C++
- Control Flow Statement in C++
- cstdlib in C++
- Exception Objects in C++
- Base Class and Derived Class in C++
- Creating A Menu in C++
- Escape Sequence in C++
- Explicit in C++
- int range in C++
- Maximum Value in Vector in C++
- NPTEL Programming in C++
- Shared Pointer in C++
- Static Member Function in C++ With Example
- The Diamond Pattern in C++
- Const ptr C++
- Const_Cast C++
- Area Of Triangle in C++
- Array input in C++
- Cin String in C++
- Coroutine in C++
- Gui Design in C++
- integer in C++
- Advantages and Disadvantages of inheritance in C++
- C++ IDE Linux
- C++ Mini Project With Source Code And Output
- C++ Variables Types
- Containers in C++
- Dynamic Binding in C++
- Explain Access Specifiers in C++
- Iomanip in C++
- Noexcept in C++
- C++ Reference
- Initializer in C++
- Constant Arguments in C++
- Vector in C++ Stl
- Singleton Pattern in C++
- Error Handling in C++
- C++ Thread Id to Int
- C Str in C++
- C++ Shared Ptr
- Scope Resolution Operator in C++
- C++ Random Number Between 1 and 10
- File Opening Mode in C++
- New and Delete in C++
- Big Integers in C++
- Stack Unwinding in C++
- C++ Syntax Link