Witam. Mam następujący problem:
Posiadam zdefiniowaną klasę Macierz, jest w niej wskaźnik na wskaźnik na int
int **macierz;
Dalej stworzyłem funkcję wyświetlającą jakiś wiersz tej macierzy void Macierz::WyswietlWiersz(int x)
{
x--; // konwersja na zapis indeksowy
if (x >= W || x < 0) { cout << "\nNieprawidlowy wiersz!"; return; }
for (int j = 0; j < K; j++) cout << macierz[x][j] << " ";
cout << endl;
}
Następnie stworzyłem próbną klasę MacierzX, która jest pochodną od klasy Macierz, ze wskaźnikiem na char
```cpp
char** macierz;
W funkcji głów zdefiniowałem zmienną m1 typu MacierzX i zainicjalizowałem jakimiś znakami typu char. Gdy teraz próbuję wywołać metodę m1.WyswietlWiersz(x); próbuje mi się ona dostać do tej metody, ale przez wskaźnik int**.
Czy istnieje jakiś sposób, żeby
char **macierz
przesłonił
int **macierz
, tak żeby dla <code class="cpp"> cout << macierz[x][j]
wykonywana była metoda ze wskaźnikiem char z klasy pochodnej? Czy muszę zdefiniować przesłonić wszystkie metody w klasie pochodnej (co wydaje mi się trochę absurdalne, zważywszy na fakt, że chodzi tu tylko o odniesienie się do właściwego wskaźnika)?
Proszę o pomoc.