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++ 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

Single dimension array Two dimension array

C++ Strings

C++ Strings

C++ Inheritance

C++ Inheritance Single level Inheritance Multilevel Inheritance Multiple Inheritance Hierarchical Inheritance Hybrid Inheritance

C++ Polymorphism

C++ Polymorphism C++ Overloading C++ Overriding C++ Virtual Function

C++ Pointers

C++ Pointers C++ this pointer

C++ Exception Handling

C++ Exception Handling

C++ Constructors

C++ Constructors Default Constructor Parameterize Constructor Copy constructor Constructor Overloading Destructor

C++ File Handling

C++ File Handling C++ Writing to file C++ Reading file C++ Close file

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++ 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++

C++ OOPs Concept

The main goal of C ++ programming is to add the idea of ​​object orientation to the C programming language. Inheritance, data binding, polymorphism and other concepts are part of the object oriented programming paradigm. True object-oriented programming is a programming paradigm in which everything is presented as an object.

Object Oriented Programming System

A real-world entity, such as a pen, chair, or table, is referred to as an object. Object-oriented programming (OOP) is a programming approach or pattern that uses classes and objects to create programs. It offers a variety of concepts that facilitate software development and maintenance:

  • Object
  • Class
  • Inheritance
  • Polymorphism
  • Abstraction
  • Encapsulation

Object

An object is any entity that has a state and behavior. For example: chair, pen, table, keyboard, bicycle etc. It can be both physical and intellectual in nature.

Student e1;  //creating an object of Student 

Explanation:

Student is the type in this example, and e1 is the reference variable that refers to the Student class instance.

Class

A class is a user-defined data type that may be used in our program as an object function Object() { [native code] } or "blueprint" for constructing objects.

Example of a program creating a class Student:

class Student {       // The Student
  public:             // Access specifier
    int myNum;        // Attribute (int variable)
    string myString;  // Attribute (string variable)
};

Explanation:

  • A class of student names is created using the class keyword.
  • A public keyword is an access specifier that indicates that class members (features and methods) are available from outside. Later, you'll learn more about access specifications.
  • The class has an integer variable myNum and the string variable myString. The variables declared in the class are known as attributes.

Inheritance

Inheritance occurs when an object inherits all the characteristics and behavior of its parent object. It allows code reuse. It is used to achieve polymorphism at runtime. The class that inherits the members of another class is referred to as the class derived in C ++, while the class whose members inherit is known as the base class. Derived Class of Base Class is a customized version of Base Class.

Example of a program showing single level inheritance in C++:

#include <iostream>
#include <bits/stdc++.h>  
using namespace std;  
 class Bank {  
   public:  
   float salary = 85000;   
 };  
   class Programmer: public Bank {  
   public:  
   float bonus_salary = 10000;    
   };       
int main(void) {  
     Programmer p1;  
     cout<<"Salary: "<<p1.salary<<endl;    
     cout<<"Bonus Salary: "<<p1.bonus_salary<<endl;    
    return 0;  
}  

OUTPUT:

Salary: 85000
Bonus salary: 10000

Explanation:

Bank is the base class in this example, while Programmer is the derived class.

Polymorphism

Polymorphism occurs when a job is completed in several ways. For example, to illustrate the buyer differently, draw something like a form or a rectangle. To implement polymorphism in C ++, we use function overloading and function overriding.

Example:

class x //  declaration of base class x.  
  {  
       int i;  
       public:  
       void display()  
       {   
             cout<< "Class x ";  
        }  
  };  
class y : public //  derived class declaration.  
{  
    int j;  
    public:  
   void display()  
  {  
        cout<<"Class y";  
  }  
};  

Explanation:

In the example above, the prototype of the show () function is the same in both base and derived class. As a result, the static binder cannot be used. It would be wonderful if the right task could be chosen at runtime.

Abstraction

Abstraction is the process of hiding internal features while demonstrating efficiency. For example, we don't know how to process a phone call. To complete abstraction in C ++, we use abstract classes and interfaces.

Example of a program showing abstraction in C++:

#include <iostream>
using namespace std;
class create_Abstraction
{
	private:
		int i, j;
public:
		// method to set values of
		// private members
		void set(int a, int b)
		{
			i = a;
			j = b;
		}
		void display()
		{
			cout<<"i = " <<i << endl;
			cout<<"j = " << j << endl;
		}
};
int main()
{
	create_Abstraction obe;
	obe.set(24, 30);
	obe.display();
	return 0;
}

OUTPUT:

a= 24
b= 30

Explanation:

As you can see, we are not permitted to access the variables i and j directly in the preceding program; however, we may use the functions set() and show() to set and display the values of a and b.

Encapsulation

Encapsulation is the process of combining (or encapsulating) code and data into a single entity. For instance, a capsule is wrapped with many drugs.

Example:

#include<iostream>
using namespace std;
class create_Еncapsulation
{
	private:
		// data hidden from outside world
		int i;
	public:
		// function to set value of
		// variable i
		void set(int x)
		{
			i =x;
		}
		// function to return value of
		// variable i
		int get()
		{
			return i;
		}
};


// main function
int main()
{
	create_Еncapsulation obe;
	obe.set(12);
	cout<<obe.get();
	return 0;
}

OUTPUT:

12

Explanation:

The variable i is declared private in the above program. Only the methods get() and set(), which are included in the class, can be used to access and alter this variable. As a result, we may conclude that the variable i, as well as the methods get() and set(), are bound together, resulting in encapsulation.



ADVERTISEMENT
ADVERTISEMENT