#include #include using namespace std; class Person { private: string imie; string nazwisko; string pesel; public: // Konstruktor parametryczny z domyślnymi wartościami Person(string imie = "", string nazwisko = "", string pesel = "") : imie(imie), nazwisko(nazwisko), pesel(pesel) {} string get_imie() const { return imie; } string get_nazwisko() const { return nazwisko; } string get_pesel() const { return pesel; } string to_string() const { return "Osoba: " + imie + " " + nazwisko + ", Pesel: " + pesel; } }; class Student : public Person { private: string nr_indeksu; string kierunek_studiow; public: // Konstruktor parametryczny dla klasy Student, wywołujący konstruktor klasy bazowej Person Student(string imie, string nazwisko, string pesel, string nr_indeksu, string kierunek_studiow) : Person(imie, nazwisko, pesel), nr_indeksu(nr_indeksu), kierunek_studiow(kierunek_studiow) {} // Nadpisanie metody to_string() dla klasy Student string to_string() const { return "Student: " + get_imie() + " " + get_nazwisko() + ", Pesel: " + get_pesel() + ", Nr indeksu: " + nr_indeksu + ", Kierunek studiow: " + kierunek_studiow; } }; int main() { // Przykładowe użycie klasy Student Student student("Jan", "Kowalski", "12345678901", "S12345", "Informatyka"); // Wyświetlenie informacji o studencie za pomocą metody to_string() klasy Student cout << student.to_string() << endl; return 0; } W tej poprawionej wersji kodu: Poprawiono konstruktor klasy Person, aby poprawnie inicjować pola imie, nazwisko i pesel. Metody get_imie(), get_nazwisko() i get_pesel() zostały poprawnie zdefiniowane jako const Message ChatGPT… ChatGPT