przeładowanie oparatora porównania ==

przeładowanie oparatora porównania ==
  • Rejestracja: dni
  • Ostatnio: dni
0

Jak będzie wyglądała funkcja przeciążenia operatora porównania. Porównane mają być stringi.
Z góry dziękuję za pomoc

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
struct Stringi
  {
   str:string;
   bool operator==(const string &s)const { return str==s; }
  };
  • Rejestracja: dni
  • Ostatnio: dni
0

jednak po zastanowieniu chciałabym pracować na char'ach... posiłkując się Symfonią zapisałam taki początek, ale jak widać mam problem z głównym ciałem. Analizowałam Twoją funkcję, ale przeciążanie operatorów to mój gwóźdź do trumny, bo nie widzę potrzeby korzystania z tego, niestety mój projekt tego wymaga.
Dziękuję za cierpliwość ;)

klasa klasa :: operator == (char *w)
{
RNA rezultat;
// i tu nie wiem co dalej
return rezultat;
}

Endrju
  • Rejestracja: dni
  • Ostatnio: dni
0

Poczytaj o strcmp. Ten wskaźnik na char powinien być const, tak jak cała funkcja.

http://www.cplusplus.com/reference/cstring/strcmp/

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
bool klasa::operator==(const char *w)const
  {
   return !strcmp(w,JakasSkladowaKlasyKlasa);
  }
KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 353
0

Mozna rowniez przez zaprzyjaznienie

Kopiuj
friend bool operator==(const Board &s1, const Board  &s2);

U ciebie const char*

  • Rejestracja: dni
  • Ostatnio: dni
0

To zaprzyjaźnienie wrzucić w ciało klasy?
czym są właściwie s1 i s2?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.