Dana statyczna w klasie
Ostatnio zmodyfikowano 2012-10-12 21:04
tirou Temat założony przez niniejszego użytkownika |
Dana statyczna w klasie » 2012-10-12 20:38:54 Mam problem, ktory żeby zobrazować muszę dokładnie opisac:
Mam stworzona klase:: pracownik. W niej mam funkcje urlop ktora domyslnie powinna miec wartosc=28, ponadto ta funkcja odejmuje dni pozostalego urlopu od domyslnej wartosci, jednak nie mam pomysłu jak zrobić, aby liczba dni zostala zapamietana dla danego pracownika. Gdy uzywam danej static int w klasie odnosi sie ona do wszystkich pracownikow.
Przykładowo: Jezeli Jan Nowak z 28dni urlopu wykorzystał 14 dni, to jak zrobic aby Jan Kowalski mogl np. wybrac 20 dni z 28dni dostepnych rowniez dla niego. Po prostu aby domniemane wartosci liczby=28 byly oddzielne dla kazdego pracownika z osobna.
Wkleje kod, który co prawda nie działa poprawnie, jednak moze lepiej nakresli problem.
pracownik.h
#ifndef PRACOWNIK_H #define PRACOWNIK_H #include <iostream> #include <string> using namespace std;
class pracownik { private: string imie, nazwisko, miesiac; int dzien, rok, zatrudnienie, ile; public: void zapamietaj(); void show(); void wolne(); }; #endif
pracownik.cpp
#include <iostream> #include <string> #include "../include/pracownik.h" using namespace std;
void pracownik::zapamietaj() { cout << "\npodaj imie: "; cin >> imie; cout << "\npodaj nazwisko: "; cin >> nazwisko; cout << "\nPodaj date urodzenia.\nDzien:"; cin >> dzien; cout << "\nWpisz miesiac: "; cin >> miesiac; cout << "\nRok: "; cin >> rok; cout << "\nPodaj rok zatrudnienia: "; cin >> zatrudnienie; } void pracownik::show() { cout << "\nImie i nazwisko: " << imie << " " << nazwisko << "\nData urodzenia: " << dzien << " " << miesiac << " " << rok << "\nRok zatrudnienia: " << zatrudnienie << "\n"; } void pracownik::wolne() { int urlop = 28; cout << "ile chcesz wziac dni: "; cin >> ile; urlop -= ile; cout << "\n**************URLOP***********"; cout << "\npozostalo ci: " << urlop << " dni urlopu\n"; }
|
|
pekfos |
» 2012-10-12 20:42:33 jednak nie mam pomysłu jak zrobić, aby liczba dni zostala zapamietana dla danego pracownika. Gdy uzywam danej static int w klasie odnosi sie ona do wszystkich pracownikow. |
To nie używaj static . ktora domyslnie powinna miec wartosc=28, |
Przypisz składowym wartości początkowe w konstruktorze. |
|
tirou Temat założony przez niniejszego użytkownika |
» 2012-10-12 21:04:45 Dziekuje za pomoc. Zamykam. |
|
« 1 » |