
#include <print>
#include "tdefdat_01.h"

import CData3;

// main() Funktion
int main()
{
    // DynArray mit Default-Datentyp 'int' und 5 Elemente
    DynArray<> intArray;
    // 5. Element beschreiben
    intArray[4] = 44;
    std::println("Initiale int-Feldgroesse: {}", intArray.GetSize());
    intArray.PrintArray();
    // 7. Element beschreiben -> fuehrt zur Erweiterung des DynArrays
    intArray[6] = 66;
    // Komplettes Feld ausgeben (7 Elemente)
    std::println("Aktuelle int-Feldgroesse: {}\n"
        "Und das komplette int-Feld:", intArray.GetSize());
    intArray.PrintArray();

    // DynArray mit 3 CData3-Objekten anlegen
    DynArray<CData3> objArray(3);
    // 2. Element beschreiben
    objArray[1] = CData3("CData3[1]");
    // Komplettes Feld ausgeben (3 Elemente)
    std::println("Initiale CData3-Feldgroesse: {}", objArray.GetSize());
    objArray.PrintArray();
    // 6. Element beschreiben -> fuehrt zur Erweiterung des DynArrays
    objArray[5] = CData3("CData3[5]");
    // Komplettes Feld ausgeben (6 Elemente)
    std::println("Aktuelle CData3-Feldgroesse: {}\n"
        "Und das komplette CData3-Feld:", objArray.GetSize());
    objArray.PrintArray();
}
