/* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794 */ // // CmpStCls.cs -- Demonstates assignment operator on structures and classes. // Compile this program with the following command line: // C:>csc CmpStCls.cs // namespace nsCompare { using System; // // Define a structure containing the x and y coordinates of a point struct stPoint { public int cx; public int cy; } // // Define a class containing the x and y coordinates of a point class clsPoint { public int cx; public int cy; } public class CmpStCls { static public void Main () { // Declare two structure variables stPoint spt1, spt2; // Initialize the members of only one structure spt1.cx = 42; spt1.cy = 24; // Assign the first structure to the first spt2 = spt1; // Now modify the first structure spt1.cx = 12; spt1.cy = 18; // Show the results Console.WriteLine ("For structures:"); Console.WriteLine (" The point for spt1 is ({0}, {1})", spt1.cx, spt1.cy); Console.WriteLine (" The point for spt2 is ({0}, {1})", spt2.cx, spt2.cy); // Now do the same thing with instances of the class clsPoint cpt1, cpt2; cpt1 = new clsPoint(); // Initialize the members of only one class instance cpt1.cx = 42; cpt1.cy = 24; // Assign the first class instance to the second cpt2 = cpt1; // Modify the first class cpt1.cx = 12; cpt2.cy = 18; // Show the results Console.WriteLine (" For structures:"); Console.WriteLine (" The point for cpt1 is ({0}, {1})", cpt1.cx, cpt1.cy); Console.WriteLine (" The point for cpt2 is ({0}, {1})", cpt2.cx, cpt2.cy); } } }