Перегружаемый конструктор и "this" - C#
Формулировка задачи:
Помогите нубу разобраться с механизмом работы этого кода. Как понять ": this" . Насколько я знаю ":" означает наследование... В комментах написано что один конструктор мол вызывает так другой и т.д. Вот код(кстати он из шилдта "The complete reference" ):
The output from the program is shown here:
Inside XYCoord(int, int)
Inside XYCoord()
Inside XYCoord(int, int)
Inside XYCoord(int, int)
Inside XYCoord(obj)
t1.x, t1.y: 0, 0
t2.x, t2.y: 8, 9
t3.x, t3.y: 8, 9
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
// Demonstrate invoking a constructor through this.
using System;
class XYCoord
{
public int x, y;
public XYCoord()
: this(0, 0)
{
Console.WriteLine("Inside XYCoord()");
}
public XYCoord(XYCoord obj)
: this(obj.x, obj.y)
{
Console.WriteLine("Inside XYCoord(obj)");
}
public XYCoord(int i, int j)
{
Console.WriteLine("Inside XYCoord(int, int)");
x = i;
y = j;
}
}
class OverloadConsDemo
{
static void Main()
{
XYCoord t1 = new XYCoord();
XYCoord t2 = new XYCoord(8, 9);
XYCoord t3 = new XYCoord(t2);
Console.WriteLine("t1.x, t1.y: " + t1.x + ", " + t1.y);
Console.WriteLine("t2.x, t2.y: " + t2.x + ", " + t2.y);
Console.WriteLine("t3.x, t3.y: " + t3.x + ", " + t3.y);
Console.ReadKey();
}
}
}Решение задачи: «Перегружаемый конструктор и "this"»
textual
Листинг программы
public myClass(int x = 9, int y = 8){}