C++ Constructors
C++ Constructors
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
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
};
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
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
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.
https://www.w3schools.com/cpp/cpp_constructors.asp 5/6
1/26/24, 10:23 PM C++ Constructors
W3.CSS.
HTML
CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
https://www.w3schools.com/cpp/cpp_constructors.asp 6/6