# Simple Copy Constructor Example Program For Find Factorial In C++

## Definition Copy Constructor:

A copy constructor is a like a normal parameterized Constructor, but which parameter is the same class object.  Copy constructor uses to initialize an object using another object of the same class.

To calculate factorial of a given number using the copy constructor.

### Syntax: Copy Constructor Declaration

``````// In Main Function
class_name object1(params);

Method 1 - Copy Constrcutor
class_name object2(object1);

Method 2 - Copy Constrcutor
class_name object3 = object1; ``````

### Definition of Factorial

In mathematics, the factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n.

For example,

``6! = 6 x 5 x 4 x 3 x 2 x 1 = 720``

The value of 0! is 1, according to the convention for an empty product.

## Simple Program Copy Constructor Algorithm/Steps:

• STEP 1:  Start the program.
• STEP 2:  Declare the class name as CopyConstructor with data members and member functions.
• STEP 3:  The constructor CopyConstructor() with the argument to assign the value.
• STEP 4:  To call the function factorial_calculate() do the following steps (5 to 8).
• STEP 5:  For i=1 to var
• STEP 6:  Calculate fact*i to assign to fact.
• STEP 7:  Increment the value as 1.
• STEP 8:  Return the value fact.
• STEP 9:  Create objects for CopyConstructor class in the main Function
• STEP 10: Pass arguments using Constructor and Copy Constructor
• STEP 11: Print the result.
• STEP 12: Stop the program.

## Simple Copy Constructor For Find Factorial Example Program

``````/*  Simple Copy Constructor For Find Factorial Example Program In C++
Understanding Class and Constructors            */

#include<iostream>
#include<conio.h>

using namespace std;

// CopyConstructor Class Declaration

class CopyConstructor {
//Member Variable Declaration
int var, fact;
public:
// Constructor definition

CopyConstructor(int temp) {
var = temp;
}

//Member Function for calculate factorial value and return result

int factorial_calculate() {
fact = 1;
for (int i = 1; i <= var; i++) {
fact = fact * i;
}
return fact;
}
};

//Main Function

int main() {
int n;
cout << "Simple Copy Constructor For Find Factorial Example Program In C++\n";

cout << "\nEnter the Number : ";
cin>>n;

// Object Creation For Class and Initiate Value from the user input
CopyConstructor obj(n);

// Object Creation For Class with Copy Constructor
CopyConstructor cpy = obj;

// Calculate Factorial and Display results for Objects
cout << "\n" << n << " Factorial is:" << obj.factorial_calculate();
cout << "\n" << n << " Factorial is:" << cpy.factorial_calculate();

// Wait For Output Screen
getch();
return 0;
}
``````

## Sample Output

``````Simple Copy Constructor For Find Factorial Example Program In C++

Enter the Number : 5

5 Factorial is:120
5 Factorial is:120``````