Skip to Content
✨ v2.2.4 Released - See the release notes
DocumentationMCA-418 LAB on C++ ProgrammingQ1: Class, Constructors & Destructor in C++

Q1. Class, Constructors & Destructor in C++

Question:
Write a program to demonstrate class, use of constructor, constructor overloading and destructor.


My Approach

MCA course me hum logon ne C++ me OOP concepts kaafi detail me padha hai. Constructor aur destructor ka use real life applications me bahut important hota hai, jaise object initialization aur memory clean-up.

Maine yaha ek Student management ka real-time scenario liya hai, kyunki mujhe khud NMU (KBC North Maharashtra University) ke MCA course me kaafi jagah Student related system banana pada hai (admission form, marksheet handling, etc).


Program Code

File Name: constructor_demo.cpp

#include <iostream> #include <string> using namespace std; class Student { private: string name; int age; float marks; public: // Default constructor Student() { name = "Unknown"; age = 0; marks = 0.0; cout << "Default constructor called" << endl; } // Parameterized constructor Student(string n, int a, float m) { name = n; age = a; marks = m; cout << "Parameterized constructor called" << endl; } // Constructor overloading (single parameter) Student(string n) { name = n; age = 18; // default assumption marks = 50; // default marks cout << "Single parameter constructor called" << endl; } // Destructor ~Student() { cout << "Destructor called for: " << name << endl; } void display() { cout << "Name: " << name << ", Age: " << age << ", Marks: " << marks << endl; } }; int main() { // Using default constructor Student s1; s1.display(); // Using parameterized constructor (real data) Student s2("Intesab Ansari", 24, 92.5); s2.display(); // Using overloaded constructor Student s3("Ali"); s3.display(); return 0; }

Sample Output

Default constructor called Name: Unknown, Age: 0, Marks: 0 Parameterized constructor called Name: Intesab Ansari, Age: 24, Marks: 92.5 Single parameter constructor called Name: Ali, Age: 18, Marks: 50 Destructor called for: Ali Destructor called for: Intesab Ansari Destructor called for: Unknown

Explanation

  1. Default Constructor → Jab koi parameter nahi dete, tab default values assign hoti hain.
  2. Parameterized Constructor → Hamne apna naam “Intesab Ansari”, age aur marks diye, jo ki ek real student record ko dikhata hai.
  3. Constructor Overloading → Yaha sirf naam diya gaya hai, age & marks automatically default values le lete hain.
  4. Destructor → Jab object scope ke bahar chala jata hai, tab automatically call hota hai.

Real Time Relevance

  • Admission form me jab student ka record create hota hai, constructor automatically initialize karta hai.
  • Jab system band hota hai ya record delete hota hai, destructor memory clean-up karta hai.
  • Constructor overloading ka use alag-alag scenarios ke liye hota hai jaise –
    • Sirf naam enter karke demo student create karna
    • Full detail ke sath complete student record create karna

Conclusion

Ye program real-time student record ke example se class, constructors, constructor overloading aur destructor ke concepts ko clear karta hai.
Mujhe personally ye assignment bana kar samajh aaya ki C++ ka object lifecycle kitna powerful hai aur ye real life software me kaise use hota hai.


👤 Submitted by:
Intesab Ansari
MCA Student, NMU University
Portfolio: intesab.live 

Last updated on