Class vs Object in C++ (Difference Between)

Classes v/s Objects in C++

You may say a class is a collection of objects and an object is a real-world entity, but I challenge most of them don’t understand its real meaning.

Here we will discuss what exactly we should understand about a class and object in OOPS

OOps in c++ programming
Compared onClassObject
DefinitionClasses is user defined data types aimed to mimic real world entities, which are code level blueprint.Objects are instances of these class
ExampleStudent class will contain blueprint of various data values and methods. Like – Name, Roll No, calculateMarks() etcInstances of student class can be created by declaring objects as –
s1, s2 ….. sn etc
Type of entityLogicalPhysical
MemoryWhen class is defined. No memory is created.Memory is created whenever new object is instantiated.
CreationClass can only be declared onceWe can create as many objects for any class
DeclarationClasses are declared with the class keyword
Ex – Class Student
It is created by writing class_name object name
Ex – Student stdObj1
UsageClasses bind data and methods together as a single unitObjects can be viewed as variables for given class
Difference between Class and Objects in C++ vs

Class

The design concept of class is similar to that of structures and unions

  • Apt Definition of a class: A class is a logical entity where you can write logic (statements)
  • No memory gets allocated for a class

Class Can be created as follows

class name_of_class{
    
    // access specifiers
    public:
    
    // data members and member functions
    int variable1;
    
    void functioName1(){
        // function definition here
    }
}

Example:

// name of the class
class Student
{
    // access specifier
    public:
    
    // data members variables
    int rollNo, weight, age;
    string name;
    
    // member functions
    void displayDetails()
    {
        cout << "Roll No: " << rollNo << endl;
        cout << "Name: " << name << endl;
    }
};
In order to run the above code, we require some memory space so, that memory allocated for the elements in the class is nothing but an object

Object

An object is a physical entity that represents memory for a class

  • Definition of an object: The object is an instance of a class it holds the amount of memory required for the Logic present in the class

Hence you call an object an instance of a class or a real-world entity

Example

int main(){
    
    // declare Student object s1
    Student s1;
    
    // assigning values
    s1.rollNo = 1;
    s1.weight = 80;
    s1.age = 21;
    s1.name = "Peter";
    
    // calling function for s1 object
    s1.displayDetails();
    
    return 0;
}
Run
#include<iostream>
using namespace std;

// name of the class
class Student
{
    // access specifier
    public:
    
    // data members variables
    int rollNo, weight, age;
    string name;
    
    // member functions
    void displayDetails()
    {
        cout << "Roll No: " << rollNo << endl;
        cout << "Name: " << name << endl;
    }
};

int main(){
    
    // declare Student object s1
    Student s1;
    
    // assigning values
    s1.rollNo = 1;
    s1.weight = 80;
    s1.age = 21;
    s1.name = "Peter";
    
    // calling function for s1 object
    s1.displayDetails();
    
    return 0;
}

Output

Roll No: 1
Name: Peter