Template Array/ Class Template in C++

Template Array in C++ 


In this article we will learn how to make template class which store and print data of different types i.e; int,float,char and string.
Solution:
 #include <iostream>
#include <string>
using namespace std;

template <typename T>
class Array {
private:
    T *ptr;
    int size;
public:
    Array(T arr[], int s);
    void print();
};


template <typename T>
Array<T>::Array(T arr[], int s) {
    ptr = new T[s];
    size = s;
    for(int i = 0; i < size; i++)
        ptr[i] = arr[i];
}

template <typename T>
void Array<T>::print() {
    for (int i = 0; i < size; i++)
        cout<<" "<<*(ptr + i);
    cout<<endl;
}

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    Array<int> a(arr, 5);
 
    a.print();
    cout<<endl;
 
    float arr1[5] = {10.5, 2.5, 3.8, 4.9, 5.9};
    Array<float> b(arr1, 5);
     b.print();
   
      char arr2[5] = {'a', 'b','c', 'd', 'e'};
   
    Array<char> c(arr2, 5);
     c.print();
   
   
     string arr3[5] = {"Umar", "Hayat","Ali", "Zain", "Ahmad"};
   
    Array<string> d(arr3, 5);
     d.print();
   
   
   
     cout<< "******By Hafiz Muhammad Umar Hayat******";
    system("pause");
    return 0;
}


////////////////////////By Hafiz Muhammad Umar Hayat/////////////////////////////////




Comments