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:
There are 3 types of constructors:
§ Parametrized constructors
// 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;
}
//Parametrized
Constructor
Geeks(int x)
{
cout
<< "Parametrized Constructor called" << endl;
id=x;
}
};
int
main() {
// obj1 will call
Default Constructor
Geeks obj1;
cout <<
"Geek id is: " <<obj1.id << endl;
// obj1 will call
Parametrized Constructor
Geeks obj2(21);
cout <<
"Geek id is: " <<obj2.id << endl;
return 0;
}
|
Run on IDE
Output:
Default Constructor called
Geek id is: -1
Parametrized Constructor called
Geek id is: 21
A Copy
Constructor creates a new object, which is exact copy of the
existing copy. The compiler provides a default Copy Constructor to all the
classes.
Syntax:
Syntax:
class-name (class-name &){}
Destructor is another special member function that is called by
the compiler when the scope of the object ends.
// C++ program to explain destructors
#include <bits/stdc++.h>
using
namespace
std;
class
Geeks
{
public:
int id;
//Definition for
Destructor
~Geeks()
{
cout
<< "Destructor called for id: " << id
<<endl;
}
};
int
main()
{
Geeks obj1;
obj1.id=7;
int i = 0;
while ( i < 5 )
{
Geeks
obj2;
obj2.id=i;
i++;
} // Scope for
obj2 ends here
scope
return 0;
} // Scope for obj1 ends here
|
Run on IDE
Output:
Destructor called for id: 0
Destructor called for id: 1
Destructor called for id: 2
Destructor called for id: 3
Destructor called for id: 4
Destructor called for id: 7
0 comments:
Post a Comment