private int numerEwidencyjny;
public Osoba(int numerEwidencyjny, string nazwisko, string imie, Adres adres)
this.numerEwidencyjny = numerEwidencyjny;
this.nazwisko = nazwisko;
public Osoba(int numerEwidencyjny, string imie, int numerDomu) : this(numerEwidencyjny, "Kowalski", imie, new Adres("02-222", "Warszawa", "Aleje Jerozolimskie", numerDomu, 0)) { }
public Osoba(ref Osoba osoba)
numerEwidencyjny = osoba.numerEwidencyjny;
nazwisko = osoba.nazwisko;
public string ZwrocMiejscowosc()
return adres.miejscowosc;
public string ZwrocNazweUlicy()
public int ZwrocNumerDomu()
public int ZwrocNumerMieszkania()
return adres.numerMieszkania;
public string ZwrocInformacjeOsobowe()
return string.Format("\n Pan(i) {0} {1} o numerze ewidencyjnym: {2} zamieszkały(a): {3} {4} {5}",
nazwisko, imie, numerEwidencyjny, ZwrocKod(), ZwrocMiejscowosc(),
ZwrocNazweUlicy() + " " + ZwrocNumerDomu() + " m" + ZwrocNumerMieszkania());
public void ZmienDaneOsobowe()
Console.Write("Podaj imię: "); imie = "Aneta";
Console.Write("Podaj nazwisko: "); nazwisko = "Kulik";
Console.Write("Podaj numer ewidencyjny: ");
Console.Write("Podaj kod: ");
Console.Write("Podaj nazwę miejscowści: ");
adres.miejscowosc = "rura";
Console.Write("Podaj nazwę ulicy ");
adres.nazwaUlicy = "ul. Jesienna";
Console.Write("Podaj numer domu: ");
Console.Write("Czy jest numer mieszkania <t/n>: ");
adres.numerMieszkania = 0;
return (Osoba)this.MemberwiseClone();
public string miejscowosc;
public string nazwaUlicy;
public int numerMieszkania;
public Adres(string kod, string miejscowosc, string nazwaUlicy, int numerDomu, int numerMieszkania)
this.miejscowosc = miejscowosc;
this.nazwaUlicy = nazwaUlicy;
this.numerDomu = numerDomu;
this.numerMieszkania = numerMieszkania;
public Adres(ref Adres adres)
miejscowosc = adres.miejscowosc;
nazwaUlicy = adres.nazwaUlicy;
numerDomu = adres.numerDomu;
numerMieszkania = adres.numerMieszkania;
static void Main(string[] args)
Osoba os1 = new Osoba(5, "Ola", 43);
Console.WriteLine(" Oryginał {0}", os1.ZwrocInformacjeOsobowe());
Console.WriteLine("\n***Zmieniamy klon:***\n");
Osoba klon1 = os1.Klonuj();
Console.WriteLine("\n Klon: {0}", klon1.ZwrocInformacjeOsobowe());
klon1.ZmienDaneOsobowe();
Console.WriteLine("\n Klon: {0}", klon1.ZwrocInformacjeOsobowe());
Osoba os3 = new Osoba(ref os1);
Console.WriteLine(" Oryginał {0}", os3.ZwrocInformacjeOsobowe());
Console.WriteLine("\n***Zmieniamy klon:***\n");
Console.WriteLine("\n Klon: {0}", klon1.ZwrocInformacjeOsobowe());
klon1.ZmienDaneOsobowe();
Console.WriteLine("\n Klon: {0}", klon1.ZwrocInformacjeOsobowe());