Przeciążanie operatora dodawania i mnożenia przy użyciu tablic

0

Witam. Moje zadanie polegało na tym, by umożliwić użytkownikowi wybranie największej potęgi wielomianu, potem wpisanie wartości poszczególnych współczynników i ostatecznie dodanie ich do siebie lub przemnożenie za pomocą przeciążania operatorów dodawania i mnożenia. Mam z tym ogromny problem, ponieważ całe zadanie zrobiłem na tablicy dwuwymiarowej i nie do końca wiem jak teraz wprowadzić do programu przeciążanie operatorów. W poniższym linku podaję cały kod (wyświetlanie dodawania było zrobione podobnie jak wyświetlanie mnożenia). Prosiłbym o jakieś wskazówki. Z góry dziękuję.

http://pastebin.com/6Vr01ASu

1
  1. Dlaczego nikt nie odpowiada w moim wątku?
  2. operator overloading dla typów wbudowanych po wszystkich stronach operatora jest niemożliwy
2

Daruj sobie przeciążanie operatorów. Z kodu wynika, że nadal nie poukładało ci się w głowie, co jak i kiedy używać.
Przeciążenie operatorów, to coś co naprawdę nie jest potrzebne do czegokolwiek. To tylko taki wodotrysk, który tylko wygląda "pro".
Prawda jest taka, że dopóki nie opanujesz innych umiejętności to tylko ci to namąci w głowie.

Swoją klasę popraw w ten sposób.

class Wielomian
{
     Wielomian();
     Wielomian(double a0);
     Wielomian(double *a, int size);

     double Value(double x) const;
     Wielomian& add(const Wielomian &b);
     static Wielomian add(const Wielomian &a, const Wielomian &b);
     static Wielomian multiply(const Wielomian &a, const Wielomian &b);

public:
     int n; // stopień wielomianu
     double a[200]; // współczynniki wielomianu
};
0
MarekR22 napisał(a):

Daruj sobie przeciążanie operatorów. Z kodu wynika, że nadal nie pookładało ci się w głowie, co jak i kiedy używać.
Przeciążenie operatorów, to coś co naprawdę nie jest potrzebne do czegokolwiek. To tylko taki wodotrysk, który tylko wygląda "pro".
Prawda jest taka, że dopóki nie opanujesz innych umiejętności to tylko ci to namąci w głowie.

Zdaję sobie z tego sprawę, lecz po prostu to była część zadania do wykonania. Co do tego, że jeszcze nie przyswoiłem sobie wszystkich zasad panujących w C++, to dopiero zaczynam się posługiwać jakimkolwiek językiem programowania, stąd ewentualne niedociągnięcia. No ale dzięki za pomoc :)

0

No to, zacznij od wzorca który ci dałem. Tylko nie dodawaj żadnych dodatkowych pól do klasy.
Pola klasy to nie śmietnik, do którego należy dodawać wszystko jak popadnie. Używaj zmiennych lokalnych (np i i j).
Jak już będziesz to miał, to dopisanie do tego operatorów będzie bardzo proste (jedna linijka z wywołaniem gotowych metod).

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