Zmienne z innej klasy

0

Mam klasę, której konstruktor robi coś ze zmienną innej klasy i ustawia w swojej zmiennej. Obecnie w mainie przekazuję przez referencję

 
klasa1 obiekt1;
klasa2 obiekt2(obiekt1);
klasa2::klasa2(klasa1 &a) {
b=a.zmienna;
}

Nie da się tego w jakiś elegantszy sposób zrobić, aby po prostu klasa1 była taką bazą ze zmiennymi do użycia. Z klasy2 nie mam bezpośredniego dostępu do zmiennych klas1.

0

E, a spróbuj najprostszego możliwego przekazywania czyli przez wartość, zamiast kombinować

class klasa1{
  private:
    int liczba;
  public:
  int podaj_liczbe() { return liczba; }
  void ustaw_liczbe(int wartosc) { liczba=wartosc; }
};
class klasa2{
  private:
    int moja_liczba;
  public:
    klasa2(int liczba) { moja_liczba=liczba; }
};

int main(){
  klasa1 obiekt1;
  obiekt1.ustaw_liczbe(2);
  klasa2 obiekt2(obiekt1.podaj_liczbe());
}

Chyba prościej :]

0

Poczytaj o dziedziczeniu.

0

Dobra już nieważne, niech będzie jak jest. Wiem co to dziedziczenie. Chodziło mi o to że mam klasę, która zawiera tablicę z adresami obrazków, ze statystykami i chciałem żeby inne klasy miały dostęp, ale raczej musi być obiekt tej klasy.

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.