1/26/24, 10:23 PM C++ Constructors
Tutorials Exercises Services Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
C++ Constructors
❮ Previous Next ❯
Constructors
A constructor in C++ 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;
}
Try it Yourself »
https://www.w3schools.com/cpp/cpp_constructors.asp 1/6
1/26/24, 10:23 PM C++ Constructors
Note: The constructor has the same name as the class, it is always public , and it
Tutorials Exercises
does not have any return value.
Services Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
Constructor 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;
}
https://www.w3schools.com/cpp/cpp_constructors.asp 2/6
1/26/24, 10:23 PM C++ Constructors
Try it Yourself »
Tutorials Exercises Services Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
Just like functions, constructors can also be defined outside the class. First, declare
the constructor inside the class, and then define it outside of the class by specifying
the name of the class, followed by the scope resolution :: operator, followed by the
name of the constructor (which is the same as the class):
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;
}
Try it Yourself »
https://www.w3schools.com/cpp/cpp_constructors.asp 3/6
1/26/24, 10:23 PM C++ Constructors
❮ Previous
Tutorials Exercises Log in to track
Services progress
Log❯ in
Sign Up Next
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
COLOR PICKER
SPACES UPGRADE AD-FREE
https://www.w3schools.com/cpp/cpp_constructors.asp 4/6
1/26/24, 10:23 PM C++ Constructors
Tutorials
NEWSLETTER
Exercises Services
GET CERTIFIED
REPORT ERROR
Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
Top Tutorials
HTML Tutorial
CSS Tutorial
JavaScript Tutorial
How To Tutorial
SQL Tutorial
Python Tutorial
W3.CSS Tutorial
Bootstrap Tutorial
PHP Tutorial
Java Tutorial
C++ Tutorial
jQuery Tutorial
Top References
HTML Reference
CSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference
Top Examples Get Certified
HTML Examples HTML Certificate
CSS Examples CSS Certificate
JavaScript Examples JavaScript Certificate
How To Examples Front End Certificate
SQL Examples SQL Certificate
Python Examples Python Certificate
W3.CSS Examples PHP Certificate
Bootstrap Examples jQuery Certificate
PHP Examples Java Certificate
Java Examples C++ Certificate
XML Examples C# Certificate
jQuery Examples XML Certificate
FORUM ABOUT
W3Schools is optimized for learning and training. Examples might be simplified to
improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we
cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted our
terms of use, cookie and privacy policy.
Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by
https://www.w3schools.com/cpp/cpp_constructors.asp 5/6
1/26/24, 10:23 PM C++ Constructors
W3.CSS.
Tutorials Exercises Services Sign Up Log in
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
https://www.w3schools.com/cpp/cpp_constructors.asp 6/6