Перегружаемый конструктор и "this" - C#

Узнай цену своей работы

Формулировка задачи:

Помогите нубу разобраться с механизмом работы этого кода. Как понять ": this" . Насколько я знаю ":" означает наследование... В комментах написано что один конструктор мол вызывает так другой и т.д. Вот код(кстати он из шилдта "The complete reference" ):
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();
        }
    }
}
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

Решение задачи: «Перегружаемый конструктор и "this"»

textual
Листинг программы
public myClass(int x = 9, int y = 8){}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы