Przeciążanie operatorów w klasie

0

Witam. Mam przeciążony operator dodawania + i chce teraz przeciążyć dla typu char.

Klasa<Typ> operator+(Klasa<Typ> A){
 Klasa<Typ> result(h,w);
   for(int i=0;i<h;i++)
     for(int j=0;j<w;j++)
      result.arr[i][j] = arr[i][j] + A.arr[i][j];
       } 
    }
  return result;
}

i tu zaczyna sie moj problem, nie wiem za bardzo jak szkielet tego przeciążenia powinien wygladąć. Operator ma działać tak, że jezeli w tablicy bedzie jakas literka to zamieni sie ona w cyfre i doda do innej np

 
tab {'a','b'} //za a ma podstawic np 10 za b 11 itd.
tab2 {'d','e'}
tab+tab2 ={a+d,b+e} //dodawanie macierzy gdzie zamiast literek w wyniku maja byc cyferki
Klasa<char> operator+(Klasa<char> A){
 Klasa<char> result(h,w);
   for(int i=0;i<h;i++)
     for(int j=0;j<w;j++)
      //probowalem tu zamieniac na kod asci i dodawac ale zawsze wysypuje bledy
       } 
    }
  return result;
}

 

moglbym prosic o jakies wskazowki ?

1

Niezbyt rozumiem problem, fajnie by było jakbyś jednak pokazał cały kompilujący się kod, tak, żebyśmy się nie musieli domyślać o jakiej tablicy czy macierzy mówisz. Tak samo w przypadku błędu - zacytuj go, szklana kula też ma długi weekend.

0
 
char tab[] = {'a','b'}
char tab1[] = {'a','d'}
char wynik[];
wynik=tab+tab1;

operator ma byc tak przeladowany zeby nie zwracal liczb tylko cyfry a=10 b=20 c=30 itd

1

Mam dla Ciebie złe wieści: nie przeładujesz operatorów dla typów wbudowanych.

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