Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Dostep do prywatnej tablicy w klasie

Ostatnio zmodyfikowano 2014-04-13 14:35
Autor Wiadomość
quatromen
Temat założony przez niniejszego użytkownika
[C++] Dostep do prywatnej tablicy w klasie
» 2014-04-13 13:44:57
Witam, mam problem z tym ze musze sie odwolac do 2 tablic prywatnych w 2 osobnych klasach w jednej funkcji. Nie chce dzialac:( co robic ?
C/C++
#include <iostream>
#include<cstring>

# define ROZMIAR 5
using namespace std;

class Burek {
    float burek[ 100 ];
public:
    void gauss( int k );
    void wypisz();
};

class Macierz {
    float macierz[ ROZMIAR ];
public:
    void gauss( int k );
    void wypisz();
};

void Macierz::gauss( int k ) {
    Burek b;
    macierz[ 3 ] = 6;
    b.burek[ 1 ] = 5;
}

void Macierz::wypisz() {
    Burek b;
    cout << macierz[ 3 ];
    cout << b.burek[ 1 ];
}

int main() {
    Burek b;
    Macierz Mac;
    Mac.gauss( 0 );
    Mac.wypisz();
}

Bląd


nowy.cpp: In member function ‘void Macierz::gauss(int)’:
nowy.cpp:8:16: error: ‘float Burek::burek [100]’ is private
nowy.cpp:24:3: error: within this context
nowy.cpp: In member function ‘void Macierz::wypisz()’:
nowy.cpp:8:16: error: ‘float Burek::burek [100]’ is private
nowy.cpp:30:9: error: within this context

z góry dzięki za pomoc
P-108107
quatromen
Temat założony przez niniejszego użytkownika
» 2014-04-13 14:05:20
Czy w ogóle to jest możliwe ?? ?? ??
P-108109
pekfos
» 2014-04-13 14:20:52
friend.
P-108110
quatromen
Temat założony przez niniejszego użytkownika
» 2014-04-13 14:28:21
Poprawiłem z friend ale nadal ten sam błąd
Poprawiony kod :
C/C++
#include <iostream>
#include<cstring>

# define ROZMIAR 5
using namespace std;

class Burek {
    float burek[ 100 ];
public:
    friend void gauss( int k );
    friend void wypisz();
};

class Macierz {
    float macierz[ ROZMIAR ];
public:
    void gauss( int k );
    void wypisz();
};

void Macierz::gauss( int k ) {
    Burek b;
    macierz[ 3 ] = 6;
    b.burek[ 1 ] = 5;
}

void Macierz::wypisz() {
    Burek b;
    cout << macierz[ 3 ];
    cout << b.burek[ 1 ];
}

int main() {
    Macierz Mac;
    Mac.gauss( 0 );
    Mac.wypisz();
}
P-108111
quatromen
Temat założony przez niniejszego użytkownika
» 2014-04-13 14:35:44
Wielkie dzięki,to klase trzeba było zaprzyjaznic :D
P-108114
pekfos
» 2014-04-13 14:35:59
Prościej będzie, jak zaprzyjaźnisz klasę, a nie jakieś dwie nieistniejące funkcje.
P-108115
« 1 »
  Strona 1 z 1