using System;
namespace ConsoleApplication2
{
class Program
{
/*
Bir struct class a benzer, ama aşağıdaki gibi bazı farklar mevcuttur.
* Bir struct value(değer) tiplidir, Class refernce(referans) tiplidir
* Struct inheritance(mirasçılık) özelliğini desteklemez
Bir struct class'ın aşağıdakiler dışında tüm elemanlarına sahiptir
* Parametresiz constructor
* finalizer
* Virtual elemanlar
*
*/
public struct Point
{
public int x, y;
//public int z = 10;//Hata Struct kendi içerisinde tanımlanamaz.
//public Point() { x = 0; y = 5; }//Hata struct constructor parametresiz tanımlanamaz.
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
//Hata y tanımlı olmalıdır.
//public Point(int x)
//{
// this.x = x;
//}
}
static void Main(string[] args)
{
Point p1 = new Point();
Console.WriteLine(p1.x);//0
Console.WriteLine(p1.y);//0
Point p2 = new Point(1,1);
Console.WriteLine(p2.x);//1
Console.WriteLine(p2.y);//1
Console.ReadKey();
}
}
}