Jak napisać szablon klasy

0

Witam
Mam takie zadanie:

template <class T, int size>
class Test{
T a[size];
public:
...
};
Uzupełnij o brakujące elementy klasy oraz funkcje składowe (jako funkcje składowe o ile to możliwe) tak aby można
było wykonać (w sposób poprawny z działaniem operatorów) następujące działania:
Test<int*,12> A1(10),B1(A1); // 10 - wartość wypełnienia tablicy
Test<Vector,5> A2(12),B2(A2); // 12 - wartość wypełnienia tablicy

I mam taki problem: jak zrobić, żeby w tej klasie Test w konstruktorze w A1 wypełnić tablicę wskaźników 'a' dziesiątkami, podczas gdy w następnej linijce będziemy mieli klasę gdzie 'a' nie jest tablicą wskaźników.
Bez klas specjalizowanych.
Z góry bardzo dziękuję za odp

0

Wypełnianie intami tablicy wskaźników do intów lub tablicy vectorów? Ani jedno anie drugie chyba sensu nie ma. Brak sensu nie przeszkadza poniższemu kodowi się kompilować. Ale to jak wbijanie młotkiem klocków do niepasujących otworów w zabawce dla dzieci :) Może ktoś będzie miał lepszy pomysł.

#include <vector>
#include <iterator>
#include <algorithm>
template <class T, int size>
class Test{
T a[size];
public:
    Test(int fill) {
        for(int i=0;i<size;i++) {
            a[i]=(T)fill;
        }
    }
};


Test<int*,12> A1(10),B1(A1); 
Test<std::vector<int>,5> A2(12),B2(A2); // 12 - wartość wypełnienia tablicy
int main() {
}
 
0

Ale rzutujesz int na int*, a tu chodziło raczej o to, żeby to co pod tymi wskaźnikami siedzi w tej tablicy było dziesiątką.
Anyway dzięki za zainteresowanie.
Czyli to raczej zadanie jest, źle skonstruowane?

P.S: ten vector też będzie przez nas zdefiniowany i wstępnie przyjmijmy, że może się równać jakiejś liczbie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1