Witam,
bardzo proszę o wyjaśnienie następującego problemu:
chciałbym stworzyć sobie klasę i umieścić w niej jedną zmienną typu double, która będzie w każdym obiekcie - tzn. chciałbym zadeklarować sobie jakąś zmienną typu double i przypisać jej od razu wartość, która będzie ważna dla każdego obiektu. Czy może mi ktoś napisać jak to zrobić?
Ze zmienną int nie ma problemu - mogę użyć enum lub static. Natomiast nie wiem jak zrobić to dla zmiennej typu double :(
prosiłbym o jakiś króciutki przykład.
Prosiłbym również o informację czy taką zmienną mogę później ewentualnie modyfikować w każdym obiekcie inaczej?
pozdrawiam i dziękuję za pomoc!
Prosisz o przykład, ale nie napisałeś w jakim języku. Mamy pisać dla każdego? :P Sprawa jest prosta, potrzebujesz zmiennej statycznej, albo po prostu stałej. Typ double może być statyczny tak samo jak int.
Ups, racja -> chodzi mi o język C++ ;)
Wydawało mi się, że zmienna statyczna może być jedynie typu int O_o
Nie ma problemu z zadeklarowaniem stałej statycznej zmiennej double w klasie, musisz tylko dodać jej definicje w pliku cpp(dla intów jest to niepotrzebne, tak w ramach konsekwentności).
Zjarek napisał(a)
Nie ma problemu z zadeklarowaniem stałej statycznej zmiennej double w klasie, musisz tylko dodać jej definicje w pliku cpp(dla intów jest to niepotrzebne, tak w ramach konsekwentności).
Hmm w takim razie muszę zweryfikować swoją wiedzę na temat zmiennych statycznych ;)
A mógłbym prosić jeszcze o wyjaśnienie o co chodzi z tym definiowaniem w pliku cpp? tzn. że muszę zrobić w pliku .h coś w tym stylu:
class moja_klasa
{
public:
static double zmienna_e = 2.74;
//...
private:
static double zmienna_PI = 3.14;
}
a następnie to samo w pliku cpp? :/
SWojtek napisał(a)
Zjarek napisał(a)
Nie ma problemu z zadeklarowaniem stałej statycznej zmiennej double w klasie, musisz tylko dodać jej definicje w pliku cpp(dla intów jest to niepotrzebne, tak w ramach konsekwentności).
Hmm w takim razie muszę zweryfikować swoją wiedzę na temat zmiennych statycznych ;)
A mógłbym prosić jeszcze o wyjaśnienie o co chodzi z tym definiowaniem w pliku cpp? tzn. że muszę zrobić w pliku .h coś w tym stylu:class moja_klasa
{
public:
static double zmienna_e = 2.74;
//...private:
static double zmienna_PI = 3.14;}
a następnie to samo w pliku cpp? :/
- jeśli zrobisz zmienna statyczna private to stracisz do niej dostęp z poza klasy.
- np. double moja_klasa::zmienna_e = .65; a w klasie robisz tylko static double zmienna_e;
@SWojtek patrząc po deklaracji to chyba Java ci sie z C++ pomyliła. Doczytaj jak się robi zmienne statyczne w klasie.
Shalom napisał(a)
@SWojtek patrząc po deklaracji to chyba Java ci sie z C++ pomyliła. Doczytaj jak się robi zmienne statyczne w klasie.
Chodzi Ci, że się nie przypisuje wartości w klasie? Wydawało mi się, że w książce tak było - tylko, że to było dla int :/
Nie widzę zaprzeczenia więc rozumiem, że o to chodzi? :-)
Ooo, jaki fajny komentarz ktoś mi dodał :D -> OkeY! thx za pomoc! :)