Witam mam problem z takim kodem
//cow.h
#ifndef COW_H
#define COW_H
class Cow
{
private:
char name[20];
char * hobby;
double weight;
public:
Cow();
Cow(const char * nm, const char * ho, double wt);
Cow(const Cow &c);
~Cow();
Cow & operator=(const Cow & c);
void ShowCow() const; //wyswietla wszystkie dane obiektu
};
#endif // COW_H
//cow.cpp
#include "cow.h"
#include <cstdlib>
#include <cstring>
#include <iostream>
using namespace std;
Cow::Cow()
{
name[0] = '\0';
hobby = '\0';
weight = 0.0;
}
Cow::Cow(const char * nm, const char * ho, double wt)
{
strncpy(name, nm, 19);
strcpy(hobby, ho);
weight = wt;
}
void Cow::ShowCow() const
{
cout<<"Imie: "<<name<<endl;
cout<<"Hobby: "<<hobby<<endl;
cout<<"Waga: "<<weight<<endl;
}
Cow::~Cow()
{
}
//main.cpp
#include <iostream>
#include "cow.h"
using namespace std;
int main()
{
Cow obiekt("Dawid", "Informatyka", 65.12);
obiekt.ShowCow();
return 0;
}
Jeszcze nie wszystkie metody mam napisane ale już występuje problem z tym że program się kompiluje bez błędów ale zawiesza podczas wykonywania, odkryłem że problem tkwi w pliku cow.cpp w konstruktorze w linijce strcpy(hobby, ho); gdyż jeśli ją usunę program wykonuje się bez problemów, mimo tego jednak nie wiem co zrobić aby kod poprawić i aby działał dobrze