What are constructors and destructors ? Write a Object Oriented Program to display Fibonacci series (Use constructor for initialization) ----PU-2014

Sep 15, 2018

A constructor is a special member function which is called automatically during the object creation. They can be used for the necessary initialization of the data members. Constructor is a function whose name is same as the class name, it has no return type and can takes arguments. General syntax is :

class class_name{

    private:

        //members

    public:

        class_name(arg1, arg2....){

           //constructor body

        }

};

Destructor is another special member function of class whose name is same as class name preceded by ~, and has not return type and accepts no arguments. Destructors are invoked automatically by the objects of the class, when an object goes out of the scope. Destructors complements the operations performed by the destructor. Destructor are generally used to release memory acquired by the constructor and to perform some other cleanup operation for the object. General syntax is:

class class_name{

    private:

        //members

    public:

        ~class_name(){

           //destructor body

        }

};

 

//program to display fibonacci series

// OOP to display fibonacci series
// use constructor for initialization

#include<iostream>
using namespace std;
class Fibonacci{
	private:
		int init_first;
		int init_second;
		int number_of_terms;
	public:
		Fibonacci(int inif,int inis, int no_terms){
			init_first = inif;
			init_second = inis;
			number_of_terms = no_terms;
		}
		void display(){
			if(number_of_terms < 2){
				cout<<"number of terms is less than two:"<<endl;
			}
			else{
				int current_terms;
				// print initial two terms
				cout<<init_first<<", ";
				cout<<init_second<<", ";

				// looping upto (number_of_terms - 2), since two already printed
				for (int i = 0; i < number_of_terms - 2; i++)
				{
					current_terms = init_first + init_second;
					cout<<current_terms<<", ";
					init_first = init_second;
					init_second = current_terms;
				}
				cout<<endl;
			}
		}
};

int main(){
	int total_fibo;
	cout<<"Enter Total number of fibonacci number to display:"<<endl;
	cin>>total_fibo;
	Fibonacci fibonacci(0,1,total_fibo);
	fibonacci.display();
	return 0;
}

 

Sample Run:

Enter Total number of fibonacci number to display:
10
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 

Related


Tools/Apps





© Nepal Exchange Rates