Constructors
Constructors are special class members which are called by the compiler every time an object of that class is instantiated. Constructors have the same name as the class and may be defined inside or outside the class definition. There are 3 types of constructors:
- Default Constructors
- Parameterized Constructors
- Copy Constructors
C++
// C++ program to demonstrate constructors #include <bits/stdc++.h> using namespace std; class Geeks { public : int id; //Default Constructor Geeks() { cout << "Default Constructor called" << endl; id=-1; } //Parameterized Constructor Geeks( int x) { cout << "Parameterized Constructor called " << endl; id=x; } }; int main() { // obj1 will call Default Constructor Geeks obj1; cout << "Geek id is: " <<obj1.id << endl; // obj2 will call Parameterized Constructor Geeks obj2(21); cout << "Geek id is: " <<obj2.id << endl; return 0; } |
Default Constructor called Geek id is: -1 Parameterized Constructor called Geek id is: 21
A Copy Constructor creates a new object, which is an exact copy of the existing object. The compiler provides a default Copy Constructor to all the classes.
Syntax:
class-name (class-name &){}
C++ Classes and Objects
Class in C++ is the building block that leads to Object-Oriented programming. It is a user-defined data type, which holds its own data members and member functions, which can be accessed and used by creating an instance of that class. A C++ class is like a blueprint for an object. For Example: Consider the Class of Cars. There may be many cars with different names and brands but all of them will share some common properties like all of them will have 4 wheels, Speed Limit, Mileage range, etc. So here, Car is the class, and wheels, speed limits, and mileage are their properties.
- A Class is a user-defined data type that has data members and member functions.
- Data members are the data variables and member functions are the functions used to manipulate these variables together, these data members and member functions define the properties and behavior of the objects in a Class.
- In the above example of class Car, the data member will be speed limit, mileage, etc, and member functions can be applying brakes, increasing speed, etc.
An Object is an instance of a Class. When a class is defined, no memory is allocated but when it is instantiated (i.e. an object is created) memory is allocated.