Witam ,
od pewnego czasu kontynuuje swoją przygodę z C++ , ale natknąłem się na przeszkodę.
#include<stdio.h>
#include<string.h>
#include<time.h>
#define GMT (+2)
class zegarek{
private:
int godz,
min;
char dzien[20];
public:
void pokaz_czas(){
printf("teraz mamy godzine %d:%d ",godz,min);
printf(" w dniu %s",dzien);
};
zegarek(int ,int ,char *) ;//konstruktor
~zegarek(){
printf("\nsprzatam po sobie, nara!");//destruktor
}
};
zegarek::zegarek(int a,int b,char * c)
{
godz=a ;
min=b ;
strcpy(dzien , c) ;
};
main()
{
time_t czas;
struct tm * ptm;
time(&czas);
ptm= gmtime(&czas);
zegarek *moj ,&m =*moj;
//zegarek moj(ptm->tm_hour+GMT,ptm->tm_min, "wtorek\0"); 1. próba
moj=new zegarek(ptm->tm_hour+GMT,ptm->tm_min,"wtorek\0"); //2. próba
m.pokaz_czas();
}
Jak widać wyżej mamy klasę o nazwie zegarek i w na niej ćwiczę konstruktory(w oparciu o książkę "Symfonia C++").Pierwsza próba udaje się , ale właśnie z próbą drugą jest kłopot a mianowicie z odwołaniem się do funkcji.Po użyciu operatora *new próbuję wywołać funkcję *pokaz_czas() .Kompilacja się udaję(wywala tylko ostrzeżenie o deprecated conversion) i kiedy uruchamiam program to wyskakuje okienko o błędzie.Proszę o wskazówki dotyczące mojej pomyłki.