Tematem zadania jest napisanie szablonu klasy Wykres. Wykres sklada sie z tytulu/nazwy i dwoch nazw osi. Punkty wykresu moga byc roznych typow. Na przyklad x: int i y: float lub x:int i y:double. Tu wlasnie pojawia sie potrzeba zastosowania szablonu. Dwa typy (dla x-ow i sy-kow) powinny byc argumentami szablonu. Szablon powinnismy moc skonstruowac w sposob pokazany ponizej z podaniem trzech nazw i poprzez specyfikacje typow osi. Szablon Wykres powinien posiadac metode pozwalajaca dodac do niego punkty. Specyfikujemy wtedy rzedna i odcieta punktu. Szablon powinien dostarczac metody do pobierania punktu (w argumencie tej metody podajemy numer punktu) 0 to punkt pierwszy itd. Nalezy rowniez dodac operatory pozwalajace na wypisanie wykresow (nazwy nazw osi i wartosci punktow). Implementacje metod szablonu nalezy umiescic poza cialem klasy. --------------------------------------------------- Wykres frekwencja("frekwencja na zajeciach", "numer zajec", "ilosc"); Wykres sredniaOcena("srednia ocena z zajec", "numer zajec", ""); for ( unsigned i =0; i < 6; ++i ){ frekwencja.dodajPunkt(i, i-0.5); sredniaOcena.dodajPunkt(i, -3.7*(i-10.)*i); } std::tuple f = frekwencja[3]; std::cout << frekwencja << std::endl; std::cout << sredniaOcena << std::endl; sredniaOcena.dropPoints( []( decltype(frekwencja)::point_type p){ return p> 2; } ) // wycina punkty >2 --------------------------------------------------- Punktacja: Szablon klasy wraz z potrzebnymi skladnikami: 2pkt Konstruktor: 1pkt Metoda sluzaca do dodawania punktow: 2pkt Operator [] dostepu do punktu i metoda podajaca ilosc punktow w wykresie: 3pkt Metoda wyrzucajaca punkty z wykresu 3pkt Za przedstawienie typow: +2pkt Za sprawne uzycie kontenerow standardowych w Szablonie: +1pkt Za umieszczenie ciala wszystkich method w ciele klasy: -1pkt Za brak kodu testujacego: -3pkt (to sa szablony, i nie bedziemy wiedziec czy to sie nawet kompiluje jesli nie bedzie uzyte)