Hej! Powracam z pytaniem odnośnie konstruktora. Próbuję zaimplementować konstruktor kopiujący, który po wywołaniu zwróci mi skopiowany obiekt i wyświetli informacje o swoim typie. Niestety po wywołaniu konstruktor wyświetla tyko informacje o tym, że jest kopiujący natomiast nie zwraca kopiowanego obiektu. Czy znajdzie się tutaj dobra dusza, która wytłumaczy mi jakoś przystępnie jak z niego korzystać i dlaczego w moim przypadku nie działa on poprawnie?
KLASA ItSpecialist
class ItSpecialist : protected Worker
{
std::string ifpc;
bool pc = 1;
public:
ItSpecialist(const ItSpecialist &itspecialist)
{
std::cout << " Kopiujacy" << std::endl << " z klasy ItSpecialist " << std::endl << std::endl;
}
ItSpecialist(double salary, std::string name, std::string surname) : Worker(salary* RandCost(2, 7), name, surname)
{
pc = RandCost(1, 2);
if (pc)
{
salary = salary - 120 * RandCost(2, 7);
ifpc = "TAK";
}
else
{
ifpc = "NIE";
}
std::cout << " Sparametryzowany" << std::endl << " z klasy ItSpecialist " << std::endl << std::endl;
std::cout << getName() << " " << getSurname() << std::endl;
std::cout << " Czy posiada komputer? " << ifpc << std::endl;
std::cout << " W sumie zarabia: " << salary << " brutto" << std::endl << std::endl;
}
};
MAIN
int main()
{
// ...Spar - Sparametryzowany | ...Domy - Domyslny | ...Kopi - Kopiujący
srand(time(NULL));
ItSpecialist* itspecialistSpar = new ItSpecialist(6000, " Hacker", "Bonzo");
delete itspecialistSpar;
Sleep(1000);
ItSpecialist itspecialistKopi = *itspecialistSpar;
getchar();
return 0;
}
Dziękuję pięknie za każdą podpowiedź