Wątek przeniesiony 2017-02-07 19:26 z C/C++ przez ŁF.

Dziedziczenie zmiennych między plikami

0

Cześć mam powiecmy zmienną int pieniadzę i chciałbym ją wysłać do innego pliku np. sklep to jak to mogę zrobić, próbowałem extern to nie działa.
Oba pliki są z koncówką .h (okienka w visualu)
Wygląda to tak
Sklep.h[Projekt] Sklep.h Sklep.cpp / Glowne.h[Projekt] Glowne.h Glowne.cpp
Zmienną umieszczam w Glowne.h

3

To co robisz nie ma sensu i jest po prostu złe. Zmiennych globalnych się nie używa. Poczytaj o obiektowym projektowaniu kodu.

edit: Sudoku podział klas

0

Dalej z tego nic nie rozumiem.

0

Czego konkretnie nie rozumiesz?

1

Shalom chodzi o to że generalnie z zmiennych globalnych się nie korzysta(albo nie korzysta się zbyt często i lepiej wyrobić sobie w tej kwestii nawyk). Wynika to z założenia że zakres życia i dostępności zmiennej powinien odzwierciedlać jej cel. Czyli sposób w jaki będziesz ją wykorzystywał. Jeśli deklarujesz jakąś zmienną globalnie to będzie istnieć(będąc jednocześnie dostępną dla każdego elementu programu) dopóki użytkownik nie wyłączy programu. Na pierwszy rzut oka może się to wydawać fajne i wygodne jednak jeśli piszesz coś choćby trochę bardziej złożonego niż hallo world to dość szybko pojawią się problemy takie jak np.: "Ciężko ci powiedzieć co i kiedy modyfikuje twoją zmienną", "Zmienna pieniądze tyczy się wartości na koncie czy może różnicy w bilansie", "Pisałem to miesiąc temu i naprawdę nie pamiętam po co mi połowa z tych zmiennych", "Tracisz realną kontrolę nad projektem', "Mam już x zmiennych typu pieniądze1, pieniądze25,' itd., itp.
Języki programowania aby ułatwić życie dają ci do dyspozycji odpowiednie narzędzia. Ogarnij sobie na początek pojęcia: "Zakres życia zmiennych", oraz "Programowanie zorientowane obiektowo." bo będziesz się niepotrzebnie szarpał i męczył zamiast skupić się na tym co istotne.

0

Dzięki za wytłumaczenie poczytam o tym, rozumiem całe założenie, ale to dalej nie rozwiązuje mojego problemu jak to zrobić, da się zrobić parę okienek ktore mają ten sam kod? Skoro z zmiennych globalnych się nie korzysta to jak w 2 oknie mam np. wyświetlić stan pieniedzy gdzie zmienną pieniadze zadeklarowałem w 1 oknie

0
Tremo napisał(a):

da się zrobić parę okienek ktore mają ten sam kod?

Skoro "okienka" mają ten sam kod to wydziel go do metody osobnego obiektu. Jeśli kiedyś zmodyfikujesz tę metodę zmiana obejmie oba okna.

Skoro z zmiennych globalnych się nie korzysta

Korzysta się, chodzi o to żeby starać się jak najlepiej wybrać narzędzie do zadania.

jak w 2 oknie mam np. wyświetlić stan pieniedzy gdzie zmienną pieniadze zadeklarowałem w 1 oknie

Jeśli zapoznasz się z pojęciami które ci podałem w poprzednim poście będziesz wiedział.

0

koro z zmiennych globalnych się nie korzysta to jak w 2 oknie mam np. wyświetlić stan pieniedzy gdzie zmienną pieniadze zadeklarowałem w 1 oknie

Zmienne można przekazywać. Do okienek również, bo to obiekty jak każde inne.

0
aurel napisał(a):

koro z zmiennych globalnych się nie korzysta to jak w 2 oknie mam np. wyświetlić stan pieniedzy gdzie zmienną pieniadze zadeklarowałem w 1 oknie

Zmienne można przekazywać. Do okienek również, bo to obiekty jak każde inne.

Jak?
Sorki za przerwę, ale jestem w szpitalu i tak się nudzę to warto by było czegoś się nauczyć

1

Spróbuj tego linku: http://bfy.tw/A4xC
Pierwszy, drugi albo trzeci link z góry powinny ci pomóc.

0

Okej poradziłem sobię, dzięki.

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