Skip to content

Instantly share code, notes, and snippets.

@skejeton
Created April 22, 2019 12:24
Show Gist options
  • Save skejeton/197318b6c3d72ee30d81b4a5d45b7d83 to your computer and use it in GitHub Desktop.
Save skejeton/197318b6c3d72ee30d81b4a5d45b7d83 to your computer and use it in GitHub Desktop.
// Example program
#include <iostream>
#include <string>
template <class T>
class Array
{
private:
T *arr0 = new T();
T *arr1 = new T();
T *arr2 = new T();
T *arr3 = new T();
T *arr4 = new T();
T *arr5 = new T();
T *arr6 = new T();
T *arr7 = new T();
T *arr8 = new T();
T *arr9 = new T();
T *arr10 = new T();
T *arr11 = new T();
T *arr12 = new T();
T *arr13 = new T();
T *arr14 = new T();
T *arr15 = new T();
T *arr16 = new T();
T *arr17 = new T();
T *arr18 = new T();
T *arr19 = new T();
T *arr20 = new T();
T *arr21 = new T();
T *arr22 = new T();
T *arr23 = new T();
T *arr24 = new T();
T *arr25 = new T();
T *arr26 = new T();
T *arr27 = new T();
T *arr28 = new T();
T *arr29 = new T();
T *arr30 = new T();
T *arr31 = new T();
T *arr32 = new T();
T *arr33 = new T();
T *arr34 = new T();
T *arr35 = new T();
T *arr36 = new T();
T *arr37 = new T();
T *arr38 = new T();
T *arr39 = new T();
T *arr40 = new T();
T *arr41 = new T();
T *arr42 = new T();
T *arr43 = new T();
T *arr44 = new T();
T *arr45 = new T();
T *arr46 = new T();
T *arr47 = new T();
T *arr48 = new T();
T *arr49 = new T();
public:
T* operator[] (int index)
{
switch (index)
{
case 0: return arr0;
case 1: return arr1;
case 2: return arr2;
case 3: return arr3;
case 4: return arr4;
case 5: return arr5;
case 6: return arr6;
case 7: return arr7;
case 8: return arr8;
case 9: return arr9;
case 10: return arr10;
case 11: return arr11;
case 12: return arr12;
case 13: return arr13;
case 14: return arr14;
case 15: return arr15;
case 16: return arr16;
case 17: return arr17;
case 18: return arr18;
case 19: return arr19;
case 20: return arr20;
case 21: return arr21;
case 22: return arr22;
case 23: return arr23;
case 24: return arr24;
case 25: return arr25;
case 26: return arr26;
case 27: return arr27;
case 28: return arr28;
case 29: return arr29;
case 30: return arr30;
case 31: return arr31;
case 32: return arr32;
case 33: return arr33;
case 34: return arr34;
case 35: return arr35;
case 36: return arr36;
case 37: return arr37;
case 38: return arr38;
case 39: return arr39;
case 40: return arr40;
case 41: return arr41;
case 42: return arr42;
case 43: return arr43;
case 44: return arr44;
case 45: return arr45;
case 46: return arr46;
case 47: return arr47;
case 48: return arr48;
case 49: return arr49;
}
}
};
int main()
{
Array<int> test;
*test[0] = 1;
std::cout << *test[0] << std::endl;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment