In this section of the tutorial, you will learn the following:
- Declaring and Defining Classes
- Implementing the concept of Data Abstraction
- Implementing the concept of Data Encapsulation
- Creating Objects
5.1 C++ Classes
A class in C++, is a user-defined type. It contains data and functionality. The class definition does not occupy any space in the memory. Let us declare a class date in C++ as follows:
Class date { int dd; int mm; int yy; void valid(int d, int m) { if ( d<31) cout<<”Invalid date”; if (m>12) cout<<”Invalid month”; } };
The class date has three variables (data) and a member function valid. This function is known as the member function of the date class.
5.1.1 C++ Data Abstraction
The object of creating a class in C++ is to bundle data and its functionality. Classes in C++ implement the concept of data abstraction.
5.1.2 C++ Encapsulation
In C++, you can implement the concept of encapsulation by using access specifiers. An access specifier controls the visibility of the members of a class. There are three types of access specifiers; private, public and protected.
- Private: If the members of class are declared as private, then they are accessible only within that class. By default, in C++, members of a class are private. A common practice is to declare the variables in a class as private and the functions as public.
- Public: Public members are accessible from within the class and outside the class.
- Protected: For more information, see Protected Access Specifier.
5.1.3 Encapsulation Example
Class date { private: int dd; int mm; int yy; public: void valid(int d, int m) { if ( d<31) cout<<”Invalid date”; if (m>12) cout<<”Invalid month”; } };