Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- class Adres{
- protected:
- string miasto, ulica, numer;
- public:
- Adres(){
- cout << "Konstruktor Adres - bezargumentowy" << endl;
- }
- Adres(string m, string u, string nr){
- m.empty() ? "Nie wprowadzono" : m;
- u.empty() ? "Nie wprowadzono" : u;
- nr.empty() ? "Nie wprowadzono" : nr;
- cout << "Konstruktor Adres" << endl;
- }
- virtual ~Adres(){
- cout << "Destruktor Adres" << endl;
- }
- virtual void Wyswietl()const{
- cout << miasto << ", ul." << ulica << ' ' << numer << endl;
- }
- };
- class Osoba: public Adres{
- protected:
- string imie, nazwisko;
- int wiek;
- Adres adres;
- public:
- Osoba(){
- cout << "Konstruktor Osoba - bezargumentowy" << endl;
- }
- Osoba(string i, string n, int w, string m, string u, string nr): adres(m, u, nr){
- i.empty() ? "Nie wprowadzono" : i;
- n.empty() ? "Nie wprowadzono" : n;
- w < 1 ? 1 : w;
- cout << "Konstruktor Osoba" << endl;
- }
- virtual void Wyswietl()const override{
- cout << "Imie: " << imie << ", nazwisko: " << nazwisko << ", wiek: " << wiek << endl << "Adres: ";
- adres.Wyswietl();
- }
- string PodajImie()const{
- return imie;
- }
- string PodajNazwisko()const{
- return nazwisko;
- }
- ~Osoba(){
- cout << "Destruktor Osoba" << endl;
- }
- };
- class TStudent: public Osoba{
- string kierunek;
- int rok;
- public:
- TStudent(){
- cout << "Konstruktor TStudent - bezargumentowy" << endl;
- }
- TStudent(string k, int r, string i, string n, int w, string m, string u, string nr): Osoba(i, n, w, m, u, nr){
- k.empty() ? "Nie wprowadzono" : k;
- r < 1 ? 1 : r;
- cout << "Konstruktor TStudent" << endl;
- }
- void Wyswietl()const override{
- Osoba::Wyswietl();
- cout << "Kierunek studiow: " << kierunek << ", rok " << rok << endl;
- }
- string PodajKierunek()const{
- return kierunek;
- }
- ~TStudent(){
- cout << "Destruktor TSudent" << endl;
- }
- };
- void Testuj(){
- TStudent * st = new TStudent("IT", 2, "Rafal", "Kacprzak", 21, "Lublin", "Lubelska", "21/25");
- st->Wyswietl();
- delete st;
- }
- int main() {
- Testuj();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement