Array erweitern c++

Sonnenblume123

Aktives Mitglied
Hallo,

die Aufgabe lautet:
In dieser Aufgabe geht es darum, Ihr Wissen zu Arrays und statischen Typinformationen zu nutzen um C++ um diverse Arrayeigenschafften zu erweitern, die dem eingebauten Arraytyp, im Gegensatz zu anderen Sprachen, fehlen.
Dabei gilt es eine Arrayklasse als Template zu implementieren, deren obere und untere Grenze statisch frei wählbar sind. Ihre Aufgabe besteht darin, den Rumpf der Arrayklasse auszufüllen.
Sie benötigen ein sichtbares statisches Feld length vom Typ size_t, welches sich nicht ändern kann. Ferner benötigen Sie eine interne, flach allokierte Repräsentation des Arrays. Außerdem benötigen Sie die üblichen Funktionen zur Interaktion mit Arrays, d.h. einen Standardkonstruktor, einen []-Operator, sowie Funktionen begin und end, um allgemeine for-Schleifen benutzen zu können.
Hinweis: Verwenden Sie ein static_assert, um sicherzustellen, dass Sie keine unzulässigen Arraygrenzen akzeptieren.
Was wir bereit gestellt, bekommen haben:
Code:
#include <iterator>

/**
* Ein Array vom Typ T mit Indices in [L; H].
*/
template<typename T, int L, int H>
class Array {
  ???
};
Was ich bisher hab:
Code:
#include <iterator>
#include <cstdlib>

/**
* Ein Array vom Typ T mit Indices in [L; H].
*/
template<typename T, int L, int H>
class Array {

public:
    Array(); // constructor 
    Array& operator = (const Array &a); // assignment operator 
    T& operator [] (unsigned int index); // get array item 
    unsigned int GetSize(); // get size of array (elements)
    void SetSize(unsigned int index, T v); // set
private:
    T *array; // pointer for array's memory 
    unsigned size_t length; // size of array (elemets)
};

template <typename T, int L, int H>
Array<T>::Array()
{
    length = 0;
}
template <typename T, int L, int H>
unsigned size_t Array<T>::GetSize()
{
    return length; // simply return size
}
template <typename T, int L, int H>
void AeDynArray<el>::Set(unsigned int index, T *v)
{
}

template <typename T, int L, int H>
T& Array<el>::operator [] (unsigned int index)
{
    return array[index]; // return array element 
}

Also es ist noch nicht ansatzweise fertig, aber ich wollt fragen, ob ich schon auf dem richtigen Weg bin.
 

Ähnliche Java Themen

Neue Themen


Oben