🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to C++ Notes
Topic #89

C++ Constructors


Constructors

A constructor is a special method that is automatically called when an object of a class is created.

To create a constructor, use the same name as the class, followed by parentheses ():

Example

class MyClass {     // The class

public:
// Access specifier
    MyClass() {
// Constructor
      cout << "Hello World!";

}
};

int main() {
  MyClass myObj;    // Create an object of MyClass (this will call
the constructor)
  return 0;
}

Note: Constructor Rules The constructor has the same name as the class. It has no return type (not even void). It is usually declared public. It is automatically called when an object is created.


Constructor with Parameters

Constructors can also take parameters (just like regular functions), which can be useful for setting initial values for attributes.

The following class have brand, model and year attributes, and a constructor with different parameters. Inside the constructor we set the attributes equal to the constructor parameters (brand=x, etc).

When we call the constructor (by creating an object of the class), we pass parameters to the constructor, which will set the value of the corresponding attributes to the same:

Example

class Car {        // The class
  public:          // Access specifier

string brand;  // Attribute
    string model;  // Attribute

int year;      // Attribute

Car(string x, string y, int z)
{ // Constructor with parameters
      brand =
x;
      model = y;

year = z;
    }
};

int main() {
  //
Create Car objects and call the constructor with different values

Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang",
1969);

  // Print values
  cout << carObj1.brand << " "
<< carObj1.model << " " << carObj1.year << "\n";
  cout <<
carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";

return 0;
}

Constructor Defined Outside the Class

You can also define the constructor outside the class using the scope resolution operator ::.

Example

class Car {        // The class

public:          // Access
specifier
    string brand;  // Attribute

string model;  // Attribute
    int year;
// Attribute
    Car(string x, string y, int z); //
Constructor declaration
};

// Constructor definition outside the
class
Car::Car(string x, string y, int z) {
  brand = x;

model = y;
  year = z;
}

int main() {
  // Create
Car objects and call the constructor with different values
  Car
carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // Print values
  cout << carObj1.brand << " " <<
carObj1.model << " " << carObj1.year << "\n";
  cout <<
carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";

return 0;
}

Why Constructors Are Useful

Constructors run by themselves when you create an object. They set things up so everything is ready right away.

Think of it like this: When you order a pizza (object), the constructor is the chef who adds the sauce, cheese, and toppings before it gets to you - you don't have to do it yourself!

Want to go beyond the notes?

Join CodingNow 2.0's C++ course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

C++ Constructors – FAQs

Quick answers about learning C++ Constructors in C++.

This free note from CodingNow 2.0 explains C++ Constructors in C++ — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every C++ topic on CodingNow 2.0, including C++ Constructors, is 100% free with no signup required.
With focused practice, most students grasp C++ Constructors in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now