Skip to main content

C++ Objects and Classes

C++ Object Oriented


C++ Objects and Classes

In object-oriented programming languages like C++, the data and functions (procedures to manipulate the data) are bundled together as a self-contained unit called an object. A class is an extended concept similar to that of structure in C programming language; this class describes the data properties alone. In C++ programming language, class describes both the properties (data) and behaviors (functions) of objects. Classes are not objects, but they are used to instantiate objects.

What is a class?

  • A class is an abstract data type similar to ‘C structure‘.
  • Class representation of objects and the sets of operations that can be applied to such objects.
  • Class consists of Data members and methods.
Primary purpose of a class is to held data/information. This is achieved with attributes which is also know as data members.
The member functions determine the behavior of the class i.e. provide definition for supporting various operations on data held in form of an object.

Definition of a class

Syntax:
Class class_name
{
Data Members;
Methods;
}
Example:
class A
{
public:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
}
  • PrivateProtectedPublic are called visibility labels.
  • The members that are declared private can be accessed only from within the class.
  • Public members can be accessed from outside the class also.
  • In C++, data can be hidden by making it private.

Class Members

Data and functions are members.
Data Members and methods must be declared within the class definition.
Example:
Class A
{
int i; // i is a data member of class A
int j; // j is a data member of class A
int i; // Error redefinition of i
}
  • A member cannot be redeclare within a class.
  • No member can be added elsewhere other than in the class definition.
Example:
Class A
{
int i;
int j;
void f (int, int);
int g();
}
f and g are member function of class A. They determine the behavior of the objects of the class A.

Accessing the Data Members

The public data members of objects of a class can be accessed using the direct member access operator (.).
Let us try following example to make the things clear:
Example:
#include <iostream> 
using namespace std;

class Box
{
public:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
};

int main( )
{
Box Box1; // Declare Box1 of type Box
Box Box2; // Declare Box2 of type Box
double volume = 0.0; // Store the volume of a box here

// box 1 specification
Box1.height = 4.0;
Box1.length = 6.0;
Box1.breadth = 3.0;

// box 2 specification
Box2.height = 10.0;
Box2.length = 12.0;
Box2.breadth = 12.0;

// volume of box 1
volume
= Box1.height * Box1.length * Box1.breadth;
cout
<< "Volume of Box1 : " << volume <<endl;

// volume of box 2
volume
= Box2.height * Box2.length * Box2.breadth;
cout
<< "Volume of Box2 : " << volume <<endl;
return 0;
}
Program Output:
cplusplus-volume-of-box
It is important to note that private and protected members can not be accessed directly using direct member access operator (.). We will learn how private and protected members can be accessed.

Program to Enter Students Details and Display it

Example:
#include <iostream>
using namespace std;

class stud
{
public:
char name[30],clas[10];
int rol,age;

void enter()
{
cout
<<"Enter Student Name: "; cin>>name;
cout
<<"Enter Student Age: "; cin>>age;
cout
<<"Enter Student Roll number: "; cin>>rol;
cout
<<"Enter Student Class: "; cin>>clas;
}

void display()
{
cout
<<"\n Age\tName\tR.No.\tClass";
cout
<<"\n"<<age<<"\t"<<name<<"\t"<<rol<<"\t"<<clas;
}
};

int main()
{
class stud s;
s
.enter();
s
.display();
cin
.get(); //use this to wait for a keypress
}
Program Output:
cplusplus-input-and-display

Comments

For Programs Click Here

Popular posts from this blog

Python Lists

Python Lists Dealing with data in a structured format is quiet generous, and this is possible if those data are set accordingly in a specific manner. So, Python provides these data structures named ‘lists’ and ‘tuples’ that are used to organize data in  single set. Python has 6 built-in sequences and among them the most famous are “lists and tuples”. The lists are containers that hold a number of other objects in a given order. It usually puts into practice the sequence protocol and allows programmers to add or remove objects from that sequence. Each element of the sequence is assigned a number i.e. he index and the first index is 0 (zero). This versatile data-type of Python is written in a sequence of list separated by commas between expressions. Creating Lists To build a list, just put a number of expressions in square brackets. The syntax is: Syntax: lst1 = [ ] # lst1 is the name of the list lst2 = [ expression1 , …. , expression_N ] Example: #!/usr/bin/python ls...

Java Method Overriding

Java Method Overriding Declaring a method in the subclass which already exists there in the parent class is known as method overriding. When a class is inheriting a method from a superclass of its own, then there is an option of overriding the method provided it is not declared as final. The advantage of using overriding is the ability to classify a behavior that’s specific to the child class and the child class can implement a parent class method based on its necessity. There are certain rules that a programmer should follow in order to implement overriding. These are: In Java, a method can only be written in the child class and not in same class. Argument list should be exactly the same as that of the overridden method of that class. Instance methods can also be overridden if they are inherited by the child class. A constructor cannot be overridden. Final – declared methods cannot be overridden. Any method that is static cannot be used to override. The return type must have to be the...

C++ Data Abstraction

C++ Data Abstraction Object oriented programming offers various features to write programs with various concepts that help to minimize problems and increase flexibility in program. One of the features of object oriented programming is Data abstraction. In this chapter you will learn about how the concept data abstraction is carried out within the C++ program. What is Data abstraction? Data abstraction allows a program to ignore the details of how a data type is represented. Abstraction (derived from a Latin word  abs , meaning away from and  trahere , meaning to draw) refers to the act of representing essential features without including the background details or explanations. C++ classes use the technique of abstraction and are defined as a list of abstract attributes such as width, cost, size etc and functions to operate on these attributes. They put in a nutshell all the essential properties of an object that are required to be created. The attributes are therefore called...