Mam stworzyć klasę osoba która będzie posiadała konstruktor:
-pusty wprowadzający wartości pól do dynamicznie alokowanych zasobów.
-przyjmujący 2 parametry (char* , int)- inicjujący pola przez listę inicjacyjną.
Oba konstruktory mają wyświetlać informacje o utworzeniu obiektu osoba. Muszę również dodefiniować destruktor tak aby wyświetlał informację o zniszczeniu obiektu i zwalniający dynamicznie zaalokowane zasoby.
Napisałem coś takiego:
#include <iostream>
#include <cstring>
using namespace std;
class Osoba{
char* imie;
int wiek;
public:
Osoba(){
char* im;
int wi;
cin>>im;
cin>>wi;
strcpy(imie,im);
wiek=wi;
cout<<"Obiekt zostal utworzony"<<endl;
}
Osoba(char* a,int b)
:
imie(a),
wiek(b)
{cout<<"Obiekt zostal utworzony"<<endl;
}
~Osoba(){
cout<<"Obiekt zostal zniszczony"<<endl;
}
};
int main ( ) {
Osoba* o1=new Osoba();
Osoba o2=Osoba("Andrzej",22);
return 0 ;
}
Prosiłbym kogoś o sprawdzenie tego kodu czy jest to rozwiązanie zadania i ewentualne podpowiedzi co jest źle. Szczególnie nie jestem pewny tego konstruktora z dynamicznie alokowanymi zasobami. Będę wdzięczny za wszelkie podpowiedzi.
Pozdrawiam