Data Abstraction in C++ | A Never Diminishing Concept to Dig

Data abstraction in C++ is an integral concept of object-oriented programming. If we ask newbies about data abstraction, then they would probably say that this concept is not their cup of tea. A question mark can be seen clearly on their faces. There’s a reason behind this, they’re not aware of the basics of this concept and they try to handle its major operations.

To handle this, we are going to discuss this topic from the basics in order to keep our concepts crystal clear.

Data Abstraction in C++ Tutorial

Keeping you updated with latest technology trends, Join DataFlair on Telegram

1. Data Abstraction in C++

As discussed earlier, data abstraction is a concept of object-oriented programming that helps us to represent only the important features of the program without including its background details or explanation.

Let us consider a real-life situation to better understand the concept of data abstraction.

Do you know the latest features of C++?

Example of Data Abstraction

Suppose you are operating a mobile phone. You know that the important feature of a phone is the memory card, SIM, battery life, design and build, and processor power.

But, while operating the phone you do not get into the operational details of the phone such as how the CPU of the phone allocates memory for the various media on your phone or other intricate architectural details of the phone. All these details aren’t visible to cell-phone users from a non-technical background.

This is an example of abstraction where you get to know only about the important features without going into the depth of its working. You can use only certain commands and buttons on your phone without getting to know what is internally happening inside your phone.

Implementation of Data Abstraction in C++

We can implement the concept of data abstraction in 2 main ways:

1. Abstraction using classes and objects

With the help of classes, we can decide if we want a particular data member or member function to be accessible outside the class or not with the help of access specifiers (public, private or protected)

Take a break and revise the concept of Classes and Objects in C++

2. Abstraction through header files

Header files indicate the inclusion of several inbuilt library functions associated with that header file. For instance, if we include the header file #include<string.h>, functions such as strlen(), strcpy and many more are accessible to the programmer without getting to know the internal logic behind these inbuilt functions.

Example-

Let us consider a program where we take 2 numbers as input and obtain their sum. This program will illustrate how to find their sum without being able to separately access the 2 numbers.

The most common way to implement data abstraction is through classes and objects with the help of access specifiers. Let us consider a simple program in C++ to better understand it with respect to the above-stated problem.

Here is a code that illustrates the use of data abstraction in C++:

#include <iostream> 
using namespace std; 

class Abstraction 
{
// Private by default 
int number1, number2; 

public: 
// Function to access private members

void input(int n1, int n2) 
{ 
number1 = n1;
number2 = n2;
} 

void sum() 
{ 
cout<<"Their sum is:" << number1+number2 << endl; 
} 
}; 

int main() 
{

cout<<"Welcome to DataFlair tutorials!"<<endl;

Abstraction a; 
a.input(17, 3); 
a.sum(); 
return 0; 
}

Code-

Example of Data Abstraction in C++

Output-

Output of Abstraction in C++

Advantages of Data Abstraction in C++

Let us discuss some of its benefits in order to acknowledge its significance. The benefits of data abstraction are:

  1. Data abstraction increases the reusability of the code by avoiding any chances of redundancy.
  2. It increases the readability of the code as it eliminates the possibility of displaying the complex working of the code.
  3. With the implementation of classes and objects, comes enhanced security. Since data abstraction is a method of implementing classes and objects any denying access to other classes of accessing the data members and member functions of the base class.
  4. It helps the user to write a high-level code.
  5. It separates the entire program into code and implementation making it more comprehensible.

Summary

Now, we’ve reached towards the end of the tutorial. After completing this article, we got to know about data abstraction in C++, we also inferred its significance and importance. Thereafter, we studied the implementation techniques of data abstraction. It is safe to say that, it wouldn’t be very difficult for a beginner with little or no knowledge to grasp this concept.

If you have any queries, then do let us know in the comment section below.

The next step – Polymorphism in C++ with Example

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.