static void Main(string[] args) { Point2D p1 = new Point3D(); // These have _x, _y (8 bytes) //P1 is a referance variable // new with the help of CLR creates object and object doesnt have name // This object created on Heap Point2D p2 = new Point2D(); // These have _x, _y (8 bytes) // p2 is 8 bytes since it is 64 bit compilation Point3D q1 = new Point3D(); // These have _x, _y,_z (12 bytes) // q1 is 8 bytes since it is 64 bit compilation object o1 = new Point2D(); object o2 = new Point3D(); p1.F2(); Type Point3DType = q1.GetType(); Type Point2DType = p1.GetType(); }