1. Przeciąż dla klasy Wielomian
operator przesunięcie bitowego «
w taki sposób aby realizował wypisanie wielomianu w strumieniu wyjściowym ostream
.
Przykład:
Wielomian w1; cout << w1 << endl;
2. Dociąż operator przypisania =
dla klasy wielomian w taki sposób aby możliwe było wykonanie poniższej operacji.
double wsp[] = { 3 , 5 , 1}; int st=2; Wielomian w1(st,wsp); Wielomian w2; w2=w1;
3. Dociąż operator +
tak aby realizował dodawanie dwóch wielomianów
Wielomian w1, w2; cout << "w1 + w2 = " << w1 + w2 << endl;
4. Dla operacji wykonywanych na obiektach klasy Wielomian dociąż operatory *,*=,+=,-,-=,== jako metody składowe tej klasy.
Wielomian w1, w2; Wielomian w3 = w1 + w2; Wieomian w4 = w1 * 3.1; Wielomian w4 = w1 * w4; if (w1 == w2) cout << "Wielomiany są identyczne" << endl; // itd.
5. Przeciąż operator [] tak aby zwracał odpowiedni współczynnik wielomianu:
Wielomian w; cout << w[0] << end; w[0]++; cout << w << end;
6. Przeciąż operator () tak aby zwracał wartość wielomianu dla danej wartości rzeczywistej:
Wielomian w; double y = w(3.1); cout << "wartosc wynosi " << y << endl;
7. Przeciąż jednoargumentowy operator * tak aby relizował pochodną stopnia 1-go.
Wielomian w1; cin >> w1; Wielomian pochodna = *w1; Wielomian pochodna2 = ****w1;
8. Zrealizuj przekształcanie typu double
na obiekt typu Wielomian
.
Wielomian w1; double x = 5.1; cin >> w1; Wielomian w2 = w1 + (Wielomian)x; Wielomian w3 = w2 - 1.2;
Przyładowy diagram UML klasy Wielomian
Dla operacji wykonywanych na obiektach klasy Wymierna dociąż operatory =,*,*=,+,+=,-,-=,== jako metody składowe tej klasy.
Wymierna w1(1,2), w2(3,4); Wymierna x = w1 + w2; Wymierna y = w1 * 3; // itd. if (w1 == w2) cout << "Liczby są identyczne" << endl;
Przeciąż operatory « i » jako funkcje zaprzyjaźnione z klasą Wymierna tak aby poprawne wczytywanie ze strumienia wejściowego i wypisywanie do strumienia wyjściowego:
Wymierna w(1,3); cout << "Oto liczba " << w << endl;
Przeciąż operator rzutowania obiektu typu Wymierna na typ double
Wymierna w1(5,6); double x = w1 * 3.1; Wymierna w3 = w1 + 3.1;
Rozwiń program [zajecia:po_2013_1:zajecia2#Słownik|Słownik] z poprzednich zajęć dodając przeciążenie operatorów.
«
dla klasy Dictionary, Tree i Node wypisuje zawartość obiektu do strumienia wyjściowego (ostream
)»
dla klasy Dictionary wczytuje wszystkie wyrazy ze strumienia wejsciowego (istream
)+=
dla klasy Tree dodaje wyraz (string
) do drzewa=
dla klasy Dictionary (lub Tree) kopiuje zawartość słownika (lub drzewa)+
dla klasy Tree lub Dictionsry dodaje zawartość dwóch słowników (lub drzew)[]
dla klasy Dictionary zwraca liczbę wyrazów danych argumentemPrzykłady:
Dictionary slownik; cin >> slownik; cout << slownik; int i = slownik["Ala"] Dictionary slownik2 = slownik + slownik;