Mam klasę Pair o następującym wyglądzie
template < class T1, class T2> class Pair { private: T1 a; T2 b; public: T1& first(); T2& second(); T1 first() const {return a;} T2 second() const {return b;} Pair(const T1& aval,const T2& bval) : a(aval), b(bval){} Pair(){} };
Tworzę klase Wine w której pair będzie jednym z obiektów. Typy przychowywane przez pair to kontenery valarray
class Wine { std::string nazwa; Pair<ArrayInt,ArrayInt> RB; int ilosc; public: Wine(); Wine(const char* l,int y,const int yr[],const int bot[]); WIne(const char*l,int y); };
Mój problem polega na tym że nie wiem jak zainplementowac drugi konstruktor. Chciałbym aby wypełniał on obiekty valaray podanymi tablicami. Wykombinowałem tagie coś jednak kod się nie kompiluje
Proszę o pomoc.
typedef std::valarray<int> ArrayInt; Wine::Wine(const char* l,int y,const int yr[],const int bot[]) : RB<ArrayInt,ArrayInt>(&yr,&bot) { nazwa=l; ilosc=y; }