Musze w c++ zrobic klasę dla dwumianu/jednomianu. Stwierdziłem ze zrobie wiec klase wielomian z ktorej dziedziczyc beda klasy jednomian i dwumian. Klasa wielomian ma wlasciwosci a,b,c gdzie w klasie jednomian w konstruktorze a=0; o tak:
Jednomian::Jednomian(float wspB,float wspC){
a=0;
b=wspB;
c=wspC;
}
klasa dwumian wyglada analogicznie.
Wielomian ma tez wirtualna funcje:
virtual vector <float> obliczPierwiastek()=0;
Ktora zaleznie czy jest to dwumian czy jednomian zwraca wektor z pierwiastkami rowniainia.
Teraz chcę zrobić dodawanie i odejmowanie wielomianow za pomocą przeciążenia operatorów. Mam więc taką funckje w klasie Wielomian:
Wielomian operator +(const Wielomian & wielomian2){
//return Wielomian(this->a+wielomian2->a,this->b+wielomian2->b,this->c+wielomian2->c);
}
Z tym że klasa Wielomian jest abstrakcyjna wiec ta funkcja jest bledna bo nie moge zwracac objektu klasy abst. no bo takowy nie istnije. Taj wiec jak to obejść?
Poza pomoca z tymi funkcjami prosze o opinie czy wgl ten pomysl z dziedziczeniem nadaje sie do takiego zadania?
Moglbym w sumie zrobic tylko jedna klase Wielomian i np zaleznie czy a==0 funkcja obliczPierwiastek zwracałaby odpowiednia wartość. Może macie jakies inne elegancjie rozwiazanie? (zalezy mi zeby właśnie ladnie to wygladalo)
Dzieki za kazda odp.