• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » C++ » Classes » Data Abstraction in C++
Next →
← Prev

Data Abstraction in C++

By Dinesh Thakur

Object Oriented Programming has a special feature called data abstraction. Data abstraction allows ignoring the details of how a data type is represented. While defining a class, both member data and member functions are described. However while using an object (that is an instance of a class) the built in data types and the members in the class are ignored. This is known as data abstraction. This can be seen from the above example.

Example

An example to show how public member data and public member functions are accessed outside the class.

 

#include <iostream.h>

#include<conio.h>

class base

{

       public: int sl,s2;

       public:

       void inp_val()

        {

               cout<<“input the values of sl and s2 “;

               cin>>sl>>s2;

        }

      void disp()

       {

              cout<<sl <<” “<<s2;

              cout<<“\n” ;

       }

};

void main()

{

       clrscr();

       base o1;

       o1.inp_val();

       o1.disp();

}

The first occurrence of the keyword public (or private) before a member data or a member function makes the compiler assume the types of accesses of all the members following this to be of the first occurrence type. However, if the types of accesses of member data and member functions are different, then the access type should be explicitly mentioned in each case.

Example

An example to show that private member data cannot be accessed outside the class if the member functions which involve this data are also private.

 

#include <iostream.h>

#include<conio.h>

class base

{

          private: int sl,s2;

          void inp_val()

          {

                    cout<<“input the values of s1 and s2 “;

                    cin>>sl>>s2;

           }

 

          void disp()

          {

                  cout<<sl <<” “<<s2;

                  cout<<“\n” ;

          }

};

void main()

{

        clrscr();

        base o1;

        o1.inp_val();

        o1.disp();

}

On the execution of the above program, following error messages will appear.

error messages

Error oop22.cpp 26 : ‘base::inp-val()’ is not accessible

error oop22.cpp 27: ‘base::disp() ‘ is not accessible

Example

 

Modified version of Example in which member data are private but the member function which invoke the private data members are public. This will not cause any error as in example

#include <iostream.h>

#include<conio.h>

class base

{

          private: int sl,s2;

          public: void inp_val()

          {

                     cout<<“input the values of sl and s2 “;

                     cin>>sl>>s2;

           }

          void disp()

          {

                   cout<<sl <<” “<<s2<<“\n “;

          }

};

          void main()

          {

                 clrscr();

                 base o1;

                 o1.inp_val();

                 o1.disp();

          }

You’ll also like:

  1. Write• A C++ Program To Depict Concept Of Abstraction, Data Hiding, Encapsulation.
  2. What is Abstraction? Explain Type of Abstraction.
  3. What is abstraction?
  4. Difference Between Abstraction and Encapsulation
  5. What is Abstraction in Java? Abstract Class or Interface
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

C++ Tutorials

C++ Tutorials

  • C++ - Data Types
  • C++ - Operators Types
  • C++ - CPP Program Structure
  • C++ - Conditional Statements
  • C++ - Loop
  • C++ - do-While Loop
  • C++ - Control Statements
  • C++ - Tokens
  • C++ - Jump Statements
  • C++ - Expressions
  • C++ - Constants
  • C++ - Character Set
  • C++ - Iteration Statements
  • C++ - I/O Statements
  • C++ - String
  • C++ - Manipulators

C++ Operator

  • C++ - Input/Output Operator
  • C++ - Operator Overloading

C++ Functions

  • C++ - Functions
  • C++ - Member Functions
  • C++ - Returning Object from Function
  • C++ - Call by Value Vs Reference
  • C++ - Friend Function
  • C++ - Virtual Function
  • C++ - Inline Function
  • C++ - Static Data Members
  • C++ - Static Member Functions

C++ Array & Pointer

  • C++ - Array
  • C++ - Array of Objects
  • C++ - Arrays as Class Members
  • C++ - Vector
  • C++ - Pointer
  • C++ - 'this' Pointer

C++ Classes & Objects

  • C++ - Class
  • C++ - Program Structure With Classes
  • C++ - OOP’s
  • C++ - Objects as Function Arguments
  • C++ - Procedure Vs OOL
  • C++ - Object Vs Class
  • C++ - Creating Objects
  • C++ - Constructors
  • C++ - Copy Constructor
  • C++ - Constructor Overloading
  • C++ - Destructor
  • C++ - Polymorphism
  • C++ - Virtual Base Class
  • C++ - Encapsulation

C++ Inheritance

  • C++ - Inheritance
  • C++ - Multiple Inheritance
  • C++ - Hybrid Inheritance
  • C++ - Abstraction
  • C++ - Overloading

C++ Exception Handling

  • C++ - Exception Handling
  • C++ - Templates
  • C++ - Standard Template Library

C++ Data Structure

  • C++ - Link List

C++ Programs

  • C++ Program for Electricity Bill
  • C++ Program for Multiply Matrices
  • C++ Program for Arithmetic Operators
  • C++ Program For Matrices
  • C++ Program for Constructor
  • C++ Program Verify Number
  • C++ Program Array Of Structure
  • C++ Program to find Average Marks
  • C++ Program Add And Subtract Matrices
  • C++ Program Menu Driven
  • C++ Program To Simple Interest
  • C++ Program To Find Average
  • C++ program exit()
  • C++ Program Using Array Of Objects
  • C++ Program Private Member Function
  • C++ Program To Reverse A String
  • C++ Program to Operator Overloading

Other Links

  • C++ - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2025. All Rights Reserved.

APPLY FOR ONLINE JOB IN BIGGEST CRYPTO COMPANIES
APPLY NOW