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
Post a Comment