Klasa funkcji kwadratowej - problem ze współczynnikiem A.

0

Witam.
Jak powszechnie wiadomo ogólny wzór na funkcję kwadratową brzmi:

ax^2 + bx + c

Piszę, więc sobie klasę do obliczeń i danych dotyczących funkcji kwadratowej.
Istnieje więc konstruktor


```cpp
Function2(double a, double b, double c) { a = _a;  b = _b; c = _c; }
//gdzie _zmienna to zmienna prywatna 

Ale problem pojawia się tu, że a nie może być zerem. Można jakoś w klasie stworzyć swoiste funkcje warunkowe?
0

funkcje warunkowe?
to zwykłe:

if(a == 0) cout << "Program sie wyjebal...";

nie wystarczy?

0

Te przypisania w konstruktorze są trochę odwrotnie :p
Możesz sprawdzać czy a jest równe 0 i w takim wypadku rzucić np. wyjątek. Można też zastosować asercje.

0

Wyjątek? Teoretycznie dotyczatałem się czym jest asercja, ale jak ją zastosować?

0
try {
Function fun(tak żeby a==0);
if(fun.a == 0) thorw -666; //tak czy siak jakiś prosty if(==0) musi być
}
catch(int exc)
{
  if(exc == -666) cout << "Program sie wyjebal...";
}
0
kynski napisał(a)

Wyjątek? Teoretycznie dotyczatałem się czym jest asercja, ale jak ją zastosować?

Asercja się przyda jeżeli wartość a będzie znana w czasie kompilacji, jeżeli np. ją pobierasz od użytkownika to już nie bardzo.

ASSERT(a!=0);

Jeżeli asercja nie zostanie spełniona program się wywali. Asercje są wywalane z kodu jeżeli kompilujesz jako release. Służy głównie do testowania czy wszystko z kodem jest ok, wrzucasz tam gdzie warunek ma zawsze być spełniony - pozwala wychwycić pewne logiczne błędy w algorytmie.

0

Klasa do obliczania funkcji to nie jest zbyt dobry pomysł.
Takie rzeczy się robi funkcyjnie a nie obiektowo.

0
Azarien napisał(a)

Klasa do obliczania funkcji to nie jest zbyt dobry pomysł.
Takie rzeczy się robi funkcyjnie a nie obiektowo.

Do samego obliczania rzeczywiście to jest marny pomysł, ale jeżeli już trzeba je jakoś przechowywać(np. zestaw kilku funkcji kwadratowych - już abstrahując czy o to autorowi tematu chodzi) i liczyć nie tylko miejsca zerowe i na podstawie tych danych wyciągać jakieś wnioski to klasa może się przydać - wygodniej będzie operować na obiektach takiej klasy niż na tablicach współczynników, które ni jak są ze sobą powiązane.

Znając życie to pewnie takie zadanie pojawiło się na jakiś zajęciach tylko po to, żeby sobie było - żeby poćwiczyć klasy

1 użytkowników online, w tym zalogowanych: 0, gości: 1