Szukałam i nie znalazłam
Jak odwołuje się z pola string adres klasy Osoba do klasy Adres?
Klasa Osoba
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kadry
{
public class Osoba
{
private int numerEwidencyjny;
private string nazwisko;
private string imie;
private string adres;
public Osoba(
int numerEwidencyjny,
string nazwisko,
string imie,
string adres
)
{
this.numerEwidencyjny = numerEwidencyjny;
this.nazwisko = nazwisko;
this.imie = imie;
this.adres = adres;
}
public Osoba(int numerEwidencyjny, string imie, string adres) :
this(numerEwidencyjny, "Kowalski", imie, adres) { }
public Osoba(ref Osoba osoba)
{
numerEwidencyjny = osoba.numerEwidencyjny;
nazwisko = osoba.nazwisko;
imie = osoba.imie;
}
public string ZwrocInformacjeOsobowe()
{
return string.Format("\n Pan(i) {0} {1} o numerze ewidencyjnym: {2} zamieszkały(a): {3}",
nazwisko, imie, numerEwidencyjny, adres);
}
public void ZmienDaneOsobowe()
{
Console.Write("Podaj nazwisko: ");
nazwisko = Console.ReadLine();
Console.Write("Podaj imię: ");
imie = Console.ReadLine();
do
{
Console.Write("Podaj numer ewidencyjny: ");
}
while (!int.TryParse(Console.ReadLine(), out numerEwidencyjny));
}
public Osoba Klonuj()
{
return (Osoba)this.MemberwiseClone();
}
}
}
Klasa Adres
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kadry
{
public class Adres
{
private string kod;
private string miejscowosc;
private string nazwaUlicy;
private int numerDomu;
private int numerMieszkania;
public Adres(
string kod,
string miejscowosc,
string nazwaUlicy,
int numerDomu,
int numerMieszkania
)
{
this.kod = kod;
this.miejscowosc = miejscowosc;
this.nazwaUlicy = nazwaUlicy;
this.numerDomu = numerDomu;
this.numerMieszkania = numerMieszkania;
}
public Adres(int numerDomu) :
this("02-222", "Warszawa", "Aleje Jerozolimskie", numerDomu, 0)
{ }
public Adres(ref Adres adres)
{
kod = adres.kod;
miejscowosc = adres.miejscowosc;
nazwaUlicy = adres.nazwaUlicy;
numerDomu = adres.numerDomu;
numerMieszkania = adres.numerMieszkania;
}
public string ZwrocKod()
{
return kod;
}
public string ZwrocMiejscowosc()
{
return miejscowosc;
}
public string ZwrocNazweUlicy()
{
return nazwaUlicy;
}
public int ZwrocNumerDomu()
{
return numerDomu;
}
public int ZwrocNumerMieszkania()
{
return numerMieszkania;
}
public string ZwrocInformacjeOsobowe()
{
return string.Format(" {0} {1} {2}",
ZwrocKod(), ZwrocMiejscowosc(),
ZwrocNazweUlicy() + " " + ZwrocNumerDomu() + " m" + ZwrocNumerMieszkania());
}
public void ZmienAdres()
{
Console.Write("Podaj kod: ");
kod = Console.ReadLine();
Console.Write("Podaj nazwę miejscowści: ");
miejscowosc = Console.ReadLine();
Console.Write("Podaj nazwę ulicy ");
nazwaUlicy = Console.ReadLine();
do
{
Console.Write("Podaj numer domu: ");
}
while (!int.TryParse(Console.ReadLine(), out numerDomu));
Console.Write("Czy jest numer mieszkania <t/n>: ");
char c = Console.ReadKey().KeyChar;
if (c == 't')
{
Console.WriteLine();
do
{
Console.Write("Podaj numer meszkania: ");
}
while (!int.TryParse(Console.ReadLine(), out numerMieszkania));
}
else
{
numerMieszkania = 0;
}
}
}
}
Klasa Program
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kadry
{
class Program
{
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();
klon1.ZmienAdres();
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();
klon1.ZmienAdres();
Console.WriteLine("\n Klon: {0}", klon1.ZwrocInformacjeOsobowe());
Console.ReadKey();
}
}
}