Constructors and destructors, C/C++ Programming

Assignment Help:

Constructors and Destructors:

A Class is defined as constructor by declaring a constructor in the form of function inside

the class.  In other word a function in the name of class is a constructor with few exceptions from the regular function.   Constructor is a special member function.   The constructor must have identical name as the class.  Constructor is the extension of class with additional features and certain limitations.  The class cannot be defined without parameters or arguments, that is class can be defined in the form of function and thus class can be declared with argument and without argument.  The class without argument is called default constructor with argument is known as parameterized constructors.  The construction is used to initialize the class; as seen earlier a class cannot be initialized; this limitation is over come by having a constructor inside the class. The constructor can be overload.

Rules of Constructor:

  • The constructors should have the same name as the class.
  • The constructors will get the form of function prototype.
  • The constructors are used to initialize the class and its objects.
  • The constructors should he declared in the public section of the class.
  • The constructors are invoked automatically as soon as the objects are created.
  • The constructors cannot be inherited.
  • The constructors can have a default argument.
  • The constructors may or may not have argument.
  • The constructors also can be defined as inline function.
  • The constructors cannot have its class like argument.
  • The constructors can have its class as argument but through reference only. This is known as copy constructor.
  • The constructor can be constant, thus constructor arguments never be modified.
  • The constructors do not return type even void like function.
  • Constructor can be empty or without statement inside it. It is a do nothing constructor it must be produced when overloading operator is defined in the class.
  • Constructor also can have other than initialization statement.

A constructor is defined as follows which will interpret the rule of constructor.

Constructor without argument or default constructor:

class integer

{int m,n;

public:

integer(void);

};

integer::integer(void)

{m=0; n=0;

}

 

Constructor with argument or parameterized constructor:

class integer

{int m,n;

public:

integer(int x, int y);

};

integer::integer(int x, int y)

{m=x; n=y;

}

Calling a constructor:

1.   Explicit calling. 2. Implicit calling.

Explicit calling, it is declared by combining the declaration and passing the argument to the constructor.

integer int1=integer(10,20);

The above statement can re written in the following form.

integer int1;

int1(10,20);

The above method is implicit calling it can also be made shorter in the following way. integer int1(10,20);

Inline constructor:

class integer

{

int m,n;

public:

integer(int x, int y)

{m=x; n=y;}

};

Copy constructor:

class A

{int m,n;

public:

A(A&); //This is invalid A(A) it is the rule of constructor;

};

 

Multiple Constructors:

class integer

{int m,n;

public:

integer ( )

{m=0;   n=0;}

integer(int x, int y)

{m=x; n=y;}

integer(integer &i) //Copy constructor

{m=i.m;  n=i.n;}

};

The above constructor can be called as follows. Calling constructor without parameter integer I1;

Calling constructor without parameter integer I2(20,40); Calling constructor without parameter integer I3(I2);

Depending on the argument passed the constructor will be evoked.  A class any number of constructors in its class, but the names must be identical.  This is works exactly like function overloading and thus it is known as constructor overloading.

Constructor with default argument:

class integer

{int m,n; public: integer( )

{m=20;}

integer(int x=20);

};

integer::integer(int x)

{m=x;

}

When there is only one argument in a constructor and that too is declared as default argument.  Then there will conflict in calling the constructor with default argument and default constructor.  Default constructor is a constructor without argument.  This conflict is overcome as follows.


Related Discussions:- Constructors and destructors

Binary search tree is constructed by repeatedly, Assume that a Binary Searc...

Assume that a Binary Search Tree is constructed by repeatedly inserting exact values in to the tree. Argue that the number of nodes examined in searching for a value in the tree is

AREAUNDERCURVE, Write a program to find the area under the curve y = f(x) b...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve betw

Explain scope rules and storage classes, Scope Rules and Storage Classes ...

Scope Rules and Storage Classes The storage class verifies the life of a variable in terms of its duration or its scope. There are four storage classes : automatic static

C program to add two complex numbers , Aim: To implement a program to add ...

Aim: To implement a program to add two complex numbers using constructors. Code:                       class complex {             int real;             int img;

Explain why a linked list is called dynamic data structure, Question: (...

Question: (a) (i) What is recursion? (ii) What advantage is there in its use? (iii) What disadvantage is there in its use? (b) The factorial of a positive number can b

I want vlc pitch changing addon, I want VLC Pitch Changing Addon Project...

I want VLC Pitch Changing Addon Project Description: Required: Plugin to modify the pitch of running tracks in VLC without changing the speed. Skills required are C Progra

C language, in a program for what purpose print f and scan f is used

in a program for what purpose print f and scan f is used

Write short note on c++, Introduction to C++ C++ was developed by Bjarn...

Introduction to C++ C++ was developed by Bjarne Stroustrup at Bell Laboratories in 1983. Originally, it was known as " C with class". C+ as an enhancement to the C language was

#change to palidrome program, #A palindrome is a string that reads the same...

#A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrom

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd