Mam pytanie czy mógłby ktoś jakoś pomóc lub wytłumaczyć. Muszę zamienić wszystkie ciągi znaków np:char zmienna[20] na klasę string. Oraz dodać klasę dotycząca daty przydatności i wyklepałem coś prowizorycznie:
class Data {
unsigned char d,m; //dzien, miesiac
short y; // rok
public:
Data(void);
Data(... dzien, ... msc, ... rok);
bool sprawdz(void); // czy wprowadzona data jest poprawna
set_dz(...);
...
unsigned char get_msc(void);
...
void wypisz(void);
};
Tutaj kodzik programu:
#include <cstdlib>
#include <iostream>
using namespace std;
char *strcp(const char *s)
{
unsigned L=streln(s)+1;
char *r=new char[L];
memcpy(r,s,L);
return r;
}
class puszka
{
private:
char *nazwa;
char *producent;
long int data;
int pojemnosc;
bool otwarta;
public:
puszka(char *nazwa,char *producent,long int data,int pojemnosc,bool otwarta)
:nazwa(strcp(nazwa)),producent(strcp(producent)),data(data),pojemnosc(pojemnosc),otwarta(otwarta)
{
}
~puszka() { delete[] nazwa; delete[] producent; }
void wyswwietl()const
{
cout<<"Nazwa piwa: "<<nazwa<<endl;
cout<<"Producent: "<<porducent<<endl;
cout<<"Data waznosci: "<<data<<endl;
}
};
int main()
{
puszka p("Zywiec","GrupaZywiecSA",01012012,5,true);
p.wyswietl();
cin.sync();
cin.get();
return 0;
}