Funkcje zaprzyjaźnione i zakresy dostępu

Kontrola dostępu

private

public

protected

Instrukcje inicjalizujące konstruktora

Funkcja zaprzyjaźniona

Klasa zaprzyjaźniona

Klasa: Wielomian

Wielomian -tego stopnia funkcją postaci

Zaimplementuj klasę reprezentująca wielomiany. W pliku nagłówkowym wielomian.h zadeklaruj klasę Wielomian

class Wielomian { private : int st; double *wsp; public : Wielomian(); Wielomian(int st, double *wsp); Wielomian(const Wielomian &); Wielomian Pochodna(int ktora=1); void Wypisz(); ~Wielomian(); };

Pole prywatne wsp to adres tablicy zawierającej współczynniki wielomianu . Wielomian stopnia posiada współczynników.

W pliku źródłowym wielomian.c zdefiniuj konstruktory, destruktor i metody składowe klasy Wielomian:

publiczny konstruktor domyślny tworzy wielomian stopnia 0 postaci

publiczny konstruktor Wielomian(int st, double *wsp); inicjujący wielomian stopnia st o współczynnikach wsp

konstruktor kopiujący

publiczną funkcję składową Pochodna() zwracającą nowy wielomian, który jest równy pochodnej wielomianu pierwotnego. Pochodna 1-szego stopnia wielomianu wynosi:

publiczną funkcję składową Pochodna(int stopien), która zwraca wielomian będący pochodną stopnia stopien

funkcję składową Wypisz(), która wyświetla wielomian w terminalu. Współczynniki wielomianu wypisz z dokładnością do 2 miejsc po przecinku.
Przykład: f(x) = -1.32 x^3 + x + 3.12
Zobacz manipulator strumienia setprecision

Dodaj do implementacji wielomianu:

prywatny konstruktor Wielomian(int stopien), który przydziela tablicę na współczynniki wielomianu ale jej nie inicjuje. Wykorzystaj ten konstruktor na liście inicjalizacji w innych konstruktorach aby wyeliminować dublujące się w konstruktorach instrukcje.

Zaimplementuj funkcję globalną Dodaj, która będzie zaprzyjaźniona z klasą Wielomian. Funkcja ta zwraca nowy wielomian stanowiący sumę wielomianów podanych w argumentach.

Wielomian Dodaj(const Wielomian &a, const Wielomian &b);

Zadanie 3: Iloczyn wielomianów

Uzupełnij implementację klasy Wielomian o następujące elementy:

publiczną metodę Wczytaj(), która wczyta nową zawartość wielomianu. Użytkownik podaje stopień wielomianu oraz wszystkie współczynniki. Jeżeli wielomian miał już jakąś zawartość, to zostanie ona nadpisana.

zaprzyjaźnioną funkcję globalną zwracającą wynik mnożenia dwóch wielomianów w1 i w2

Wielomian Iloczyn(const Wielomian &w1, const Wielomian &w2);

Wynikiem iloczynu wielomianów stopnia i bedzie wielomian stopnia o współczynnikach

Napisz program, który:

wczyta dwa wielomiany (wykorzystaj funkcję składową Wczytaj())

obliczy iloczyn obu wielomianów (wykorzystaj funkcję zaprzyjaźnioną Iloczyn())

wypisze wynik

Rozwiązanie w postaci plików nagłówkowych *.h i źródłowych *.cpp umieść w Moodle Zadanie 3