Dziedziczenie - klasa abstrakcyjna
Klasa Wielomian
1. Utwórz klasę Gauss - reprezentującą funkcję Gaussa, zawierającą:
- konstruktor inicjowany wartościami średniej i odchylenia
- konstruktor kopiujący
- metodę
ObliczWartosc
wyznaczającą wartość funkcji w punkciex
- zaprzyjaźnioną funkcję przeciążającą operator « wypisujący komunikat do strumienia
2. Utwórz klasę Funkcja stanowiącą klasę bazową klasy Wielomian i klasy Gauss. Jakie cechy (metody, atrybuty) można uogólnić do klasy Funkcja?
Klasa Funkcja zawiera:
- metodę czysto wirtualną
ObliczWartosc
- zaprzyjaźnioną funkcję przeciążająca operator «
3. Napisz program testujący działanie metody wirtualnej
Przykładowy diagram klas UML
Figury
Zaimplementuj klasy Figura, Kolo, Kwadrat i Trojkat oraz odpowiednie metody zgodnie z podanym diagramem (kliknij w obrazek aby powiększyć):
Konstruktory domyślne inicjują wartości boków figur (promienia) zerami zaś zmienna nazwa jest inicjowana łańcuchami znaków, odpowiednio: „Figura”, „Kwadrat”, „Kolo” i „Trojkat”.
Metody Obwod() i Pole() dla obiektu klasy Figura niech zwracają wartość 0.
Dociąż operator « dla obiektu klasy Figura oraz strumienia wyjściowego ostream (uczyń tą funkcję przyjacielem klasy Figura), tak aby wywołanie postaci:
Kwadrat k(3); cout << k << endl; Trojkat t(3,4,5); cout << t << endl;
generowało nastepujący komunikat:
Kwadrat o polu 9 i obwodzie 12. Trojkat o polu 6 i obwodzie 12.