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

Dana statyczna w klasie

Ostatnio zmodyfikowano 2012-10-12 21:04
Autor Wiadomość
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
C/C++
#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_H

pracownik.cpp
C/C++
#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";
}
P-66690
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.
P-66693
tirou
Temat założony przez niniejszego użytkownika
» 2012-10-12 21:04:45
Dziekuje za pomoc. Zamykam.
P-66698
« 1 »
  Strona 1 z 1