#include using namespace std; template // T kann ein beliebiger Typ sein class Array { private: T array[n]; // Array von Typ 'T' mit 'n' Plaetze public: int get_size() const { return n; } T& operator[] (int i); }; template T& Array::operator[] (int i) // damit man mit dem neuem Objekt mit [] hantieren kann { if(i < 0 || i >= n) { cout << "Array-Ueberlauf!!!\n"; exit(1); } return array[i]; } int main(void) { Array str1; // einen Char-Array mit 20 Zeichen 'freischalten' Array integers; cout << "Wie heissen Sie: "; cin.getline(&str1[0], str1.get_size() ); // einlesen ... cout << "Hallo "; for(int i=0; str1[i] != '\0'; i++) { cout << str1[i]; // anders kann man es nicht ausgeben wenn man es } // oben nicht so mit 'operator' festgelegt hat cout << '\n'; for(int i=0; i < integers.get_size(); i++) { cout << i+1 << ". Wert: "; cin >> integers[i]; } cout << "Die Zahlen die eingegeben wurden ...\n"; for(int i=0; i < integers.get_size(); i++) { cout << i+1 << ". Wert: " << integers[i] << '\n'; } return 0; }