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

Przypisywanie jednej wartości w klasie

Ostatnio zmodyfikowano 2013-04-28 12:46
Autor Wiadomość
infinium
Temat założony przez niniejszego użytkownika
Przypisywanie jednej wartości w klasie
» 2013-04-26 23:02:45
Hej. Mam następujący problem. Tworzę dwa obiekty tej samej klasy, dajmy na to A i B. Każda jest opisana trzema zmiennymi typu double: x, y, z. Potrzebuję wprowadzać y oraz z osobno dla każdego obiektu, ale x wprowadzić tylko raz i przypisać tę wartość dla obu obiektów. Czy jest to możliwe? Jeśli tak to bardzo proszę, powiedzcie jak to zrobić.
P-81245
crash
» 2013-04-26 23:45:01
Nie wiem czy to Cię zadowoli, jest takie cuś jak pola statyczne klasy - pola opatrzone słowem kluczowym static.

Za mało wiadomo o Twoim problemie i za dużo jest pytań. Np.: czy będzie jeszcze trzeci, czwarty, ... n-ty obiekt klasy itd, itp
P-81246
usmiech
» 2013-04-27 01:28:03
Jest to mozliwe, najprosciej przez konstruktora :)
P-81253
pekfos
» 2013-04-27 10:29:36
Konstruktor, statyczne zmienne na wartości domyślne i statyczne metody na ich ustawianie.
P-81260
infinium
Temat założony przez niniejszego użytkownika
» 2013-04-27 11:29:13
crash: Nie będzie więcej, potrzebne mi tylko dwa obiekty klasy. Poczytam w takim razie o konstruktorach, bo szczerze mówiąc do tej pory nie były mi potrzebne i nie wiem jak działają ;)

Po całym dniu czytania i kombinowania nie chce mi to działać i kompletnie nie mam pomysłu jak to wykorzystać. Pomóżcie proszę.
P-81268
Monika90
» 2013-04-28 06:53:21
Doprawdy trudno zgadnąć, o co Ci chodzi. Załóżmy, że masz:
C/C++
struct T
{
    double x, y, z;
};

T a, b;
to można np. tak:
C/C++
cin >> a.x >> a.y >> a.z >> b.y >> b.z;
b.x = a.x; //x jest takie samo w obu obiektach
Natomiast jeżeli wolisz użyć składowych prywatnych i konstruktorów:
C/C++
class T
{
public:
    T( double x, double y, double z )
        : x( x )
        , y( y )
        , z( z )
    { }
private:
    double x, y, z;
};

double x, y, z;
cin >> x >> y >> z;
T a( x, y, z );
cin >> y >> z;
T b( x, y, z );
Pominęłam szczegóły takie jak sprawdzanie poprawności wczytania ze strumienia.
P-81325
infinium
Temat założony przez niniejszego użytkownika
» 2013-04-28 12:46:31
Dokładnie o to chodziło, dzięki wielkie, po drobnej modyfikacji wszystko działa ;)
P-81344
« 1 »
  Strona 1 z 1