C++ Classes & Objects
C++ Classes & Objects
In this tutorial, we will learn about objects and classes and how to use them
in C++ with the help of examples.
To handle this task, we can create three variables, say, length , breadth ,
and height along with the functions calculateArea() and calculateVolume() .
However, in C++, rather than creating separate variables and functions, we
can also wrap these related data and functions in a single place (by
creating objects). This programming paradigm is known as object-oriented
programming.
C++ Class
A class is a blueprint for the object.
A class is defined in C++ using keyword class followed by the name of the
class.
The body of the class is defined inside the curly brackets and terminated by
a semicolon at the end.
class className {
// some data
// some functions
};
For example,
class Room {
public:
double length;
double breadth;
double height;
double calculateArea(){
double calculateVolume(){
};
C++ Objects
When a class is defined, only the specification for the object is defined; no
memory or storage is allocated.
To use the data and access functions defined in the class, we need to
create objects.
We can create objects of Room class (defined in the above example) as
follows:
// sample function
void sampleFunction() {
// create objects
int main(){
// create objects
Here, two objects room1 and room2 of the Room class are created
in sampleFunction() . Similarly, the objects room3 and room4 are created in main() .
As we can see, we can create objects of a class in any function of the
program. We can also create objects of a class within the class itself, or in
other classes.
This will call the calculateArea() function inside the Room class for object room2 .
Similarly, the data members can be accessed as:
room1.length = 5.5;
In this case, it initializes the length variable of room1 to 5.5 .
Example 1: Object and Class in C++ Programming
// Program to illustrate the working of
#include <iostream>
// create a class
class Room {
public:
double length;
double breadth;
double height;
double calculateArea() {
double calculateVolume() {
};
int main() {
Room room1;
room1.length = 42.5;
room1.breadth = 30.8;
room1.height = 19.2;
return 0;
Output
Area of Room = 1309
In this program, we have used the Room class and its object room1 to calculate
the area and volume of a room.
In main() , we assigned the values of length , breadth , and height with the code:
room1.length = 42.5;
room1.breadth = 30.8;
room1.height = 19.2;
private:
int a;
void function1() { }
public:
int b;
void function2() { }
Here, a and function1() are private. Thus they cannot be accessed from
outside the class.
On the other hand, b and function2() are accessible from everywhere in the
program.
Example 2: Using public and private in C++ Class
// Program to illustrate the working of
#include <iostream>
class Room {
private:
double length;
double breadth;
double height;
public:
length = len;
breadth = brth;
height = hgt;
double calculateArea() {
double calculateVolume() {
};
int main() {
Room room1;
return 0;
Output
Area of Room = 1309
The above example is nearly identical to the first example, except that the
class variables are now private.
Since the variables are now private, we cannot access them directly
from main() . Hence, using the following code would be invalid:
// invalid code
obj.length = 42.5;
obj.breadth = 30.8;
obj.height = 19.2;
Instead, we use the public function initData() to initialize the private
variables via the function parameters double len , double brth , and double hgt .