Witam ,
Mam drobny problem , napisałem kalkulator na duzych liczbach , takich które nie mieszczą sie w normalny zakres np 100! ,ten kalkulator działą bez zarzutu ale zajmijmy sie dodawaniem jest to funkcja która pobiera 2 stringi i zwraca string wynikowy , definicja jest w pliku dodawanie.cpp ,jest tez plik dodawanie.h z deklaracja , posiadalem plik main.cpp gdzie miałem switcha by user mógł wybierać operacje ale postanowiłem przedefiniować operatory np operator dodawania , wiec usunełem main.cpp i stworzyłem main1.cpp , mam także pliki DuzaLiczba.h i DużaLiczba.cpp próbuje przedefinować operatory za pomocą funkcji dodawania , przeczytałem że mozną zrobić to przez metode klasy wiec do klasy dodałem deklaracje funkcji dodawania , na dole udostępniam kod . Mam pytanie czy wgl dobrze sie za to zabrałem , funkcja dodawania dziala dobrze ale nie mogę jej prawidłowy przedefiniować ciągle są problemy w chwili obecnej
C:\Users\Damianek\Desktop\Próba_definiowania_operatorow\x000x\main1.o main1.cpp:(.text+0xe2): undefined reference to `DuzaLiczba::operator+(DuzaLiczba const&) const'
Czy ma ktoś pomysł?
Plik main1cpp
DuzaLiczba liczba1;
DuzaLiczba liczba3("1234567890087554545454656543");
DuzaLiczba liczba2("999999999999999999999999999999");
l2 = l2+l3;
system("pause");
return 0;
}
plik DuzaLiczba.h
class DuzaLiczba{
string wartosc;
public:
DuzaLiczba();
DuzaLiczba(string value)
{wartosc=value;
}
string dodawanie(string liczba1, string liczba2);
DuzaLiczba operator+(const DuzaLiczba&) ;
};
Plik DuzaLiczba.cpp
DuzaLiczba::DuzaLiczba()
{
wartosc="0";
}
inline DuzaLiczba DuzaLiczba::operator+(const DuzaLiczba& n) {
return dodawanie(wartosc,n.wartosc);
}