/
2744.html
3990 lines (3896 loc) · 185 KB
/
2744.html
1
<html xmlns:v="urn:schemas-microsoft-com:vml"xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:w="urn:schemas-microsoft-com:office:word"xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Title content="Reprint -- Pro Visual C++/CLI and the "><meta name=Keywords content=""><meta http-equiv=Content-Type content="text/html; charset=macintosh"><meta name=ProgId content=Word.Document><meta name=Generator content="Microsoft Word 11"><meta name=Originator content="Microsoft Word 11"><link rel=File-List href="640-4%20Errata_files/filelist.xml"><link rel=Edit-Time-Data href="640-4%20Errata_files/editdata.mso"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}o\:* {behavior:url(#default#VML);}w\:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}</style><![endif]--><title>Reprint -- Pro Visual C++/CLI and the </title><!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>Stephen Fraser</o:Author> <o:Template>Normal</o:Template> <o:LastAuthor>Richard Ables</o:LastAuthor> <o:Revision>2</o:Revision> <o:Created>2006-04-10T21:05:00Z</o:Created> <o:LastSaved>2006-04-10T21:05:00Z</o:LastSaved> <o:Pages>2</o:Pages> <o:Words>3227</o:Words> <o:Characters>18395</o:Characters> <o:Company> </o:Company> <o:Lines>153</o:Lines> <o:Paragraphs>36</o:Paragraphs> <o:CharactersWithSpaces>22590</o:CharactersWithSpaces> <o:Version>11.0</o:Version> </o:DocumentProperties> <o:OfficeDocumentSettings> <o:PixelsPerInch>96</o:PixelsPerInch> <o:TargetScreenSize>800x600</o:TargetScreenSize> </o:OfficeDocumentSettings></xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:Zoom>125</w:Zoom> </w:WordDocument></xml><![endif]--><style><!-- /* Font Definitions */@font-face {font-family:"Times New Roman"; panose-1:0 2 2 6 3 5 4 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Arial; panose-1:0 2 11 6 4 2 2 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Courier New"; panose-1:0 2 7 3 9 2 2 5 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Geneva; panose-1:0 2 11 5 3 3 4 4 4 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Tms Rmn"; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:77; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Helv; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:77; mso-generic-font-family:swiss; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"MS Serif"; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:77; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"MS Sans Serif"; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:77; mso-generic-font-family:swiss; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"New York"; panose-1:0 2 2 5 2 6 3 5 6 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:System; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:77; mso-generic-font-family:swiss; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Wingdings; panose-1:0 5 2 1 2 1 8 4 8 7; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 0 256 0 -2147483648 0;}@font-face {font-family:"\FF2D\FF33 \660E\671D"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:\BC14\D0D5; mso-font-charset:79; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 103022593 0 524288 0;}@font-face {font-family:\5B8B\4F53; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:\65B0\7D30\660E\9AD4; mso-font-charset:81; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 134479873 0 1048576 0;}@font-face {font-family:"\FF2D\FF33 \30B4\30B7\30C3\30AF"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:Century; panose-1:0 2 4 6 4 5 5 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Verdana; panose-1:0 2 11 6 4 3 5 4 4 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Tahoma; panose-1:0 2 11 6 4 3 5 4 4 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Monotype Sorts"; panose-1:0 1 1 6 1 1 1 1 1 1; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 0 256 0 -2147483648 0;}@font-face {font-family:"Marker Felt"; panose-1:0 2 0 4 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Univers; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:Arial; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:3 0 0 0 1 0;}@font-face {font-family:"Lucida Grande"; panose-1:0 2 11 6 0 4 5 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Abadi MT Condensed Extra Bold"; panose-1:0 2 11 10 6 3 1 1 1 1; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Abadi MT Condensed Light"; panose-1:0 2 11 3 6 3 1 1 1 1; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"American Typewriter"; panose-1:0 2 9 6 4 2 0 4 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"American Typewriter Condensed"; panose-1:0 2 9 6 6 2 0 4 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"American Typewriter Light"; panose-1:0 2 9 3 4 2 0 4 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Andale Mono"; panose-1:0 2 11 5 9 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Andale Sans"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Andale Sans Bold"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Andale Sans BoldItalic "; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Andale Sans Italic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Apple Chancery"; panose-1:0 3 2 7 2 4 5 6 6 5; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Arial Black"; panose-1:0 2 11 10 4 2 1 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Arial Narrow"; panose-1:0 2 11 5 6 2 2 2 3 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Arial Rounded MT Bold"; panose-1:0 2 15 7 4 3 5 4 3 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"B Optima Bold"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Baskerville; panose-1:0 2 2 5 2 7 4 1 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Baskerville Old Face"; panose-1:0 2 2 6 2 8 5 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Baskerville Semibold"; panose-1:0 2 2 7 2 7 4 0 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Bauhaus 93"; panose-1:0 4 3 9 5 2 11 2 2 12; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Bell MT"; panose-1:0 2 2 5 3 6 3 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Bernard MT Condensed"; panose-1:0 2 5 8 6 6 9 5 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"BI Optima BoldOblique"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Big Caslon"; panose-1:0 2 0 6 3 9 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Book Antiqua"; panose-1:0 2 4 6 2 5 3 5 3 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Bookman Old Style"; panose-1:0 2 5 6 4 5 5 5 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Braggadocio; panose-1:0 4 3 11 7 13 11 2 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Britannic Bold"; panose-1:0 2 11 9 3 6 7 3 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Brush Script MT"; panose-1:0 3 6 8 2 4 4 6 7 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Calisto MT"; panose-1:0 2 4 6 3 5 5 5 3 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Capitals; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Century Gothic"; panose-1:0 2 11 5 2 2 2 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Century Schoolbook"; panose-1:0 2 4 6 4 5 5 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Chalkboard; panose-1:0 3 5 6 2 4 2 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Chalkboard Bold"; panose-1:0 3 5 6 2 4 2 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Charcoal; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Chicago; panose-1:0 2 11 8 6 8 6 4 4 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Cochin; panose-1:0 2 0 6 3 2 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Colonna MT"; panose-1:0 4 2 8 5 6 2 2 3 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Comic Sans MS"; panose-1:0 3 15 7 2 3 3 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Cooper Black"; panose-1:0 2 8 9 4 4 3 11 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Copperplate; panose-1:0 2 0 5 4 0 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Copperplate Gothic Bold"; panose-1:0 2 14 7 5 2 2 6 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Copperplate Gothic Light"; panose-1:0 2 14 5 7 2 2 6 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Copperplate Light"; panose-1:0 2 0 6 4 3 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Curlz MT"; panose-1:0 4 4 4 4 5 7 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Desdemona; panose-1:0 4 2 5 5 2 14 3 4 5; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Didot; panose-1:0 2 0 5 3 0 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Edwardian Script ITC"; panose-1:0 3 3 3 2 4 7 7 13 8; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Engravers MT"; panose-1:0 2 9 7 7 8 5 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Euphemia UCAS"; panose-1:0 2 11 5 3 4 1 2 2 1; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Euphemia UCAS Bold"; panose-1:0 2 11 8 3 4 1 2 2 1; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Euphemia UCAS Italic"; panose-1:0 2 11 5 3 4 1 2 2 1; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Eurostile; panose-1:0 2 11 5 4 2 2 2 5 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Footlight MT Light"; panose-1:0 2 4 6 2 6 3 10 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Franklin Gothic Condensed"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Franklin Gothic ExtraCond"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Franklin Gothic No\.2"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Futura; panose-1:0 2 11 6 2 2 2 4 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Futura Condensed"; panose-1:0 2 11 5 6 2 2 4 3 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Gadget; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Garamond; panose-1:0 2 2 4 4 3 3 1 1 8; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Geeza Pro"; panose-1:0 2 0 4 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Geeza Pro Bold"; panose-1:0 2 0 7 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Georgia; panose-1:0 2 4 5 2 5 4 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Gill Sans"; panose-1:0 2 11 5 2 2 1 4 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Gill Sans Light"; panose-1:0 2 11 3 2 2 1 4 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Gill Sans Ultra Bold"; panose-1:0 2 11 10 2 2 1 4 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Gloucester MT Extra Condensed"; panose-1:0 2 3 8 8 2 6 1 1 1; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Goudy Old Style"; panose-1:0 2 2 5 2 5 3 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Haettenschweiler; panose-1:0 2 11 7 6 4 9 2 6 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Harrington; panose-1:0 4 4 5 5 5 10 2 2 7; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 25 UltraLight"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 26 UltraLightItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 35 Thin"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 36 ThinItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 45 Light"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 46 LightItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 55 Roman"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 56 Italic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 65 Medium"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 66 MediumItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 75 Bold"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 76 BoldItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 85 Heavy"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 86 HeavyItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 95 Black"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica 96 BlackItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica Neue"; panose-1:0 2 0 5 3 0 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica Neue Black Condensed"; panose-1:0 2 0 10 6 0 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica Neue Bold Condensed"; panose-1:0 2 0 8 6 0 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica Neue Light"; panose-1:0 2 0 4 3 0 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Helvetica Neue UltraLight"; panose-1:0 2 0 2 6 0 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue BlackCond"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue BlackCondObl"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue BoldCond"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue BoldCondObl"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue Condensed"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue CondensedObl"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue ExtBlackCond"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue ExtBlackCondObl"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue HeavyCond"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue HeavyCondObl"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue LightCond"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue LightCondObl"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue MediumCond"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue MediumCondObl"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue ThinCond"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue ThinCondObl"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue UltraLigCond"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"HelveticaNeue UltraLigCondObl"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Herculanum; panose-1:0 2 0 5 5 0 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Hoefler Text"; panose-1:0 2 3 6 2 5 5 6 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Hoefler Text Ornaments"; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 0 256 0 -2147483648 0;}@font-face {font-family:"I Optima Oblique"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Impact; panose-1:0 2 11 8 6 3 9 2 5 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Imprint MT Shadow"; panose-1:0 4 2 6 5 6 3 3 3 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:InaiMathi; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Kino MT"; panose-1:0 4 3 7 5 13 12 2 2 7; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Lucida Blackletter"; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Lucida Bright"; panose-1:0 2 4 6 2 5 5 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Lucida Calligraphy"; panose-1:0 3 1 1 1 1 1 1 1 1; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Lucida Fax"; panose-1:0 2 6 6 2 5 5 5 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Lucida Handwriting"; panose-1:0 3 1 1 1 1 1 1 1 1; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Lucida Sans"; panose-1:0 2 11 6 2 3 5 4 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Lucida Sans Typewriter"; panose-1:0 2 11 5 9 3 5 4 3 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Matura MT Script Capitals"; panose-1:0 3 2 8 2 6 6 2 7 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Mistral; panose-1:0 3 9 7 2 3 4 7 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Modern No\. 20"; panose-1:0 2 7 7 4 7 5 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Monaco; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Monotype Corsiva"; panose-1:0 3 1 1 1 1 2 1 1 1; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"MT Extra"; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 0 256 0 -2147483648 0;}@font-face {font-family:"News Gothic MT"; panose-1:0 2 11 5 4 2 2 3 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Onyx; panose-1:0 4 5 6 2 8 7 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Optima; panose-1:0 2 0 5 3 6 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Optima ExtraBlack"; panose-1:0 2 0 11 3 0 0 0 2 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Palatino; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Papyrus; panose-1:0 2 11 6 2 4 2 0 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Perpetua Titling MT"; panose-1:0 2 2 5 2 6 5 5 2 8; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Plantagenet Cherokee"; panose-1:0 2 2 0 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Playbill; panose-1:0 4 5 6 3 10 6 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Rockwell; panose-1:0 2 6 6 3 2 2 5 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Rockwell Extra Bold"; panose-1:0 2 6 9 3 4 5 5 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Sand; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Skia; panose-1:0 2 13 5 2 2 2 4 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Stencil; panose-1:0 4 4 9 5 13 8 2 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Techno; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Textile; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-2 ExtraLight"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-3 Light"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-3i LightItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-4 SemiLight"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:TheSansMonoCon-5; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-5i Italic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-6 SemiBold"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-7 Bold"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-7i BoldItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-8 ExtraBold"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-9 Black"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-9i BlackItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Times Bold"; panose-1:0 0 0 4 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Times Bold Italic"; panose-1:0 0 0 4 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Times Italic"; panose-1:0 0 0 4 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Trebuchet MS"; panose-1:0 2 11 6 3 2 2 2 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Utopia; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Utopia Black"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Utopia Bold"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Utopia BoldItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Utopia Italic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Utopia Semibold"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Utopia SemiboldItalic"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro"; panose-1:0 2 10 6 3 6 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Bold"; panose-1:0 2 10 7 3 6 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Bold Caption"; panose-1:0 2 10 8 3 6 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Bold Display"; panose-1:0 2 10 7 3 8 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Bold Ital"; panose-1:0 2 10 7 3 6 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Bold Ital Caption"; panose-1:0 2 10 8 3 6 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Bold Ital Display"; panose-1:0 2 10 7 3 8 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Bold Ital Subhead"; panose-1:0 2 10 7 3 7 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Bold Subhead"; panose-1:0 2 10 7 3 7 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Caption"; panose-1:0 2 10 6 3 5 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Display"; panose-1:0 2 10 5 3 6 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Ital"; panose-1:0 2 10 6 3 6 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Ital Caption"; panose-1:0 2 10 6 3 5 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Ital Display"; panose-1:0 2 10 5 3 6 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Ital Subhead"; panose-1:0 2 10 5 3 6 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Light"; panose-1:0 2 10 5 3 5 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Light Caption"; panose-1:0 2 10 5 3 5 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Light Display"; panose-1:0 2 10 4 3 6 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Light Ital"; panose-1:0 2 10 5 3 5 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Light Ital Caption"; panose-1:0 2 10 5 3 5 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Light Ital Display"; panose-1:0 2 10 4 3 6 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Light Ital Subhead"; panose-1:0 2 10 5 3 6 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Light Subhead"; panose-1:0 2 10 5 3 6 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro SmBd"; panose-1:0 2 10 7 3 6 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro SmBd Caption"; panose-1:0 2 10 7 3 6 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro SmBd Display"; panose-1:0 2 10 6 3 8 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro SmBd Ital"; panose-1:0 2 10 7 3 6 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro SmBd Ital Caption"; panose-1:0 2 10 7 3 6 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro SmBd Ital Display"; panose-1:0 2 10 6 3 8 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro SmBd Ital Subhead"; panose-1:0 2 10 6 3 7 5 11 9 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro SmBd Subhead"; panose-1:0 2 10 6 3 7 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Warnock Pro Subhead"; panose-1:0 2 10 5 3 6 5 11 2 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Webdings; panose-1:0 5 3 1 2 1 5 9 6 7; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 0 256 0 -2147483648 0;}@font-face {font-family:"Wide Latin"; panose-1:0 2 10 10 7 5 5 5 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Wingdings 2"; panose-1:0 5 2 1 2 1 5 7 7 7; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 0 256 0 -2147483648 0;}@font-face {font-family:"Wingdings 3"; panose-1:0 5 4 1 2 1 8 7 7 7; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 0 256 0 -2147483648 0;}@font-face {font-family:"Zapf Dingbats"; panose-1:0 5 2 1 2 1 7 4 2 6; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 0 256 0 -2147483648 0;}@font-face {font-family:Zapfino; panose-1:0 3 3 3 0 4 7 7 7 12; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Courier CE"; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:88; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:83886080 0 0 0 2 0;}@font-face {font-family:"Geneva CE"; panose-1:0 2 11 5 3 3 4 4 4 2; mso-font-charset:88; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:83886080 0 0 0 2 0;}@font-face {font-family:"Helvetica CE"; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:88; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:83886080 0 0 0 2 0;}@font-face {font-family:Krungthep; panose-1:0 2 0 4 0 0 0 0 0 0; mso-font-charset:88; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:83886080 0 0 0 2 0;}@font-face {font-family:"Lucida Grande CE"; panose-1:0 2 11 6 0 4 5 2 2 2; mso-font-charset:88; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:83886080 0 0 0 2 0;}@font-face {font-family:"Monaco CE"; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:88; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:83886080 0 0 0 2 0;}@font-face {font-family:Silom; panose-1:0 0 0 4 0 0 0 0 0 0; mso-font-charset:88; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:83886080 0 0 0 2 0;}@font-face {font-family:"Times CE"; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:88; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:83886080 0 0 0 2 0;}@font-face {font-family:Ayuthaya; panose-1:0 0 0 4 0 0 0 0 0 0; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:"Baskerville Cyr Bold"; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:"Baskerville Cyr Inclined"; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:"Baskerville Cyr Upright"; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:"Charcoal CY"; panose-1:0 0 0 4 0 0 0 0 0 0; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:"Geneva CY"; panose-1:0 0 0 4 0 0 0 0 0 0; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:"Helvetica CY"; panose-1:0 0 0 4 0 0 0 0 0 0; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:"Lucida Grande CY"; panose-1:0 2 11 6 0 4 5 2 2 2; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:"Monaco CY"; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:Sathu; panose-1:0 0 0 4 0 0 0 0 0 0; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:Thonburi; panose-1:0 0 0 4 0 0 0 0 0 0; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:"Times CY"; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:89; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16908288 0 0 0 4 0;}@font-face {font-family:"Apple LiGothic Medium"; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:81; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 134479873 0 1048576 0;}@font-face {font-family:"Apple LiSung Light"; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:81; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 134479873 0 1048576 0;}@font-face {font-family:BiauKai; panose-1:0 2 1 6 1 0 1 1 1 1; mso-font-charset:81; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 134479873 0 1048576 0;}@font-face {font-family:"\5137\5B8B Pro"; mso-font-charset:81; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 134479873 0 1048576 0;}@font-face {font-family:"\5137\9ED1 Pro"; mso-font-charset:81; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 134479873 0 1048576 0;}@font-face {font-family:"Fang Song"; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:"GB18030 Bitmap"; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:Hei; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:Kai; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:Song; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:\534E\6587\4EFF\5B8B; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:\534E\6587\9ED1\4F53; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:\534E\6587\6977\4F53; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:\534E\6587\5B8B\4F53; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:\534E\6587\7EC6\9ED1; mso-font-charset:80; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 235143169 0 262144 0;}@font-face {font-family:"\FF2D\FF33 \FF30\30B4\30B7\30C3\30AF"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:"\FF2D\FF33 \FF30\660E\671D"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:Osaka; panose-1:0 2 11 6 0 0 0 0 0 0; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:Osaka\2212\7B49\5E45; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:"\30D2\30E9\30AE\30CE\89D2\30B4 Pro W3"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:"\30D2\30E9\30AE\30CE\89D2\30B4 Pro W6"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:"\30D2\30E9\30AE\30CE\89D2\30B4 Std W8"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:"\30D2\30E9\30AE\30CE\4E38\30B4 Pro W4"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:"\30D2\30E9\30AE\30CE\660E\671D Pro W3"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:"\30D2\30E9\30AE\30CE\660E\671D Pro W6"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:"\#PC\BA85\C870"; mso-font-charset:79; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 103022593 0 524288 0;}@font-face {font-family:"\#\AD81\C11C\CCB4"; mso-font-charset:79; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 103022593 0 524288 0;}@font-face {font-family:"\#\D544\AE30\CCB4"; mso-font-charset:79; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 103022593 0 524288 0;}@font-face {font-family:"\#\D5E4\B4DC\B77C\C778A"; mso-font-charset:79; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 103022593 0 524288 0;}@font-face {font-family:AppleGothic; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:79; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 103022593 0 524288 0;}@font-face {font-family:AppleMyungjo; panose-1:0 2 0 5 0 0 0 0 0 0; mso-font-charset:79; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 103022593 0 524288 0;}@font-face {font-family:\AD74\B9BC; mso-font-charset:79; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 103022593 0 524288 0;}@font-face {font-family:VT100; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:RSBillsDingbats; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:"Times New Roman"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:3 0 0 0 1 0;}@font-face {font-family:"Gill Sans MT"; mso-font-alt:Times; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:7 0 0 0 3 0;}@font-face {font-family:"\@\FF2D\FF33 \660E\671D"; mso-font-charset:78; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:16777216 0 117702657 0 131072 0;}@font-face {font-family:Utopia-Regular; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:Utopia; mso-font-charset:0; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:3 0 0 0 1 0;}@font-face {font-family:TheSansMonoConSemiLight; mso-font-alt:Arial; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:3 0 0 0 1 0;} /* Style Definitions */p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman";}h1 {mso-style-next:Normal; margin-top:12.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:1; font-size:16.0pt; font-family:Arial; mso-font-kerning:16.0pt;}h2 {mso-style-next:Normal; margin-top:12.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:2; font-size:14.0pt; font-family:Arial; font-style:italic;}p.MsoBodyText, li.MsoBodyText, div.MsoBodyText {margin-top:0in; margin-right:0in; margin-bottom:6.0pt; margin-left:0in; text-indent:.25in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman";}table.MsoNormalTable {mso-style-parent:""; font-size:10.0pt; font-family:"Times New Roman";}table.MsoTableGrid {font-size:10.0pt; font-family:"Times New Roman";}p.CodeFirst, li.CodeFirst, div.CodeFirst {mso-style-name:"Code First"; mso-style-parent:Code; mso-style-next:Code; margin-top:0in; margin-right:76.5pt; margin-bottom:0in; margin-left:9.0pt; margin-bottom:.0001pt; line-height:150%; mso-pagination:widow-orphan; font-size:8.5pt; font-family:TheSansMonoConSemiLight;}p.Code, li.Code, div.Code {mso-style-name:Code; mso-style-parent:""; margin-top:0in; margin-right:76.5pt; margin-bottom:0in; margin-left:9.0pt; margin-bottom:.0001pt; line-height:150%; mso-pagination:widow-orphan; font-size:8.5pt; font-family:TheSansMonoConSemiLight;}p.CodeLast, li.CodeLast, div.CodeLast {mso-style-name:"Code Last"; mso-style-parent:Code; mso-style-next:"Body Text"; margin-top:0in; margin-right:76.5pt; margin-bottom:0in; margin-left:9.0pt; margin-bottom:.0001pt; line-height:150%; mso-pagination:widow-orphan; font-size:8.5pt; font-family:TheSansMonoConSemiLight;}p.BodyTextCont, li.BodyTextCont, div.BodyTextCont {mso-style-name:"Body Text Cont"; mso-style-next:"Body Text"; margin-top:6.0pt; margin-right:0in; margin-bottom:6.0pt; margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Times;}@page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;}div.Section1 {page:Section1;} /* List Definitions */@list l0 {mso-list-id:876893311; mso-list-type:hybrid; mso-list-template-ids:-1698524792 66569 197641 328713 66569 197641 328713 66569 197641 328713;}@list l0:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;}@list l1 {mso-list-id:1971667096; mso-list-type:hybrid; mso-list-template-ids:999168830 66569 197641 328713 66569 197641 328713 66569 197641 328713;}@list l1:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;}ol {margin-bottom:0in;}ul {margin-bottom:0in;}--></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="2050"/></xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1"/> </o:shapelayout></xml><![endif]--></head><body bgcolor=white lang=EN-US style='tab-interval:.5in'><div class=Section1><h2>Reprint -- Pro Visual C++/CLI and the .NET 2.0 Platform – Fixes</h2><p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>xxvii</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>So What Did You Say About C++/CLI?</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'>, Paragraph <b>2</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> read:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in; mso-layout-grid-align:none;text-autospace:none'>Mixed mode: source-level mix of native and CTS types plus binary mix of native and CIL object files. (Compiler switch: \clr.)<o:p></o:p></li> <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in; mso-layout-grid-align:none;text-autospace:none'>Pure mode: source-level mix of native and CTS types. All compiled to CIL object files. (Compiler switch: \clr:pure.)<o:p></o:p></li> <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in; mso-layout-grid-align:none;text-autospace:none'>Native class can hold CTS types through a special wrapper class only.<o:p></o:p></li> <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in; mso-layout-grid-align:none;text-autospace:none'>CTS classes can hold native types only as pointers.<o:p></o:p></li> </ul> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'>Of course, the C++/CLI programmer can also choose to program with the .NET managed types only, and in this way provide verifiable code, using the \clr:safe Visual C++ compiler switch.<o:p></o:p></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in; mso-layout-grid-align:none;text-autospace:none'>Mixed mode: source-level mix of native and CTS types plus binary mix of native and CIL object files. (Compiler switch: <span style='background:yellow;mso-highlight: yellow'>/clr</span>.)<o:p></o:p></li> <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in; mso-layout-grid-align:none;text-autospace:none'>Pure mode: source-level mix of native and CTS types. All compiled to CIL object files. (Compiler switch: <span style='background:yellow;mso-highlight:yellow'>/clr:pure</span>.)<o:p></o:p></li> <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in; mso-layout-grid-align:none;text-autospace:none'>Native class can hold CTS types through a special wrapper class only.<o:p></o:p></li> <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in; mso-layout-grid-align:none;text-autospace:none'>CTS classes can hold native types only as pointers.<o:p></o:p></li> </ul> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'>Of course, the C++/CLI programmer can also choose to program with the .NET managed types only, and in this way provide verifiable code, using the <span style='background:yellow;mso-highlight:yellow'>/clr:safe</span> Visual C++ compiler switch.<o:p></o:p></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page xxviii<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'>C++\CLI<span style="mso-spacerun: yes"> </span><span style='color:blue'>should read: </span><span style="mso-spacerun: yes"> </span><span style='background: yellow;mso-highlight:yellow'>C++/CLI</span><span style="mso-spacerun: yes"> </span>(occurs 5 times on the page)<o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page 5, Figure 1-1<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:Arial; mso-ansi-language:EN-GB'><span style="mso-spacerun: yes"> </span>[2nd label] Application Development Technologies <span style='color:blue'>should read:</span> <span style='background:yellow;mso-highlight:yellow'>.NET Framework Base Classes</span></span><span lang=EN-IE style='font-size:10.0pt; mso-ansi-language:EN-IE'><o:p></o:p></span></p> <p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:Arial; mso-ansi-language:EN-GB'> [3rd label] Application Development Technologies <span style='color:blue'>should read:</span> <span style='background:yellow;mso-highlight:yellow'>Common Language Runtime</span></span><span lang=EN-IE style='font-size:10.0pt;mso-ansi-language:EN-IE'><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:261pt; height:137pt'> <v:imagedata src="640-4%20Errata_files/image001.png" o:title=""/> </v:shape><![endif]--><![if !vml]><img width=261 height=137 src="640-4%20Errata_files/image002.jpg" v:shapes="_x0000_i1025"><![endif]><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 align=left style='border-collapse: collapse;border:none;mso-border-alt:solid windowtext .5pt;mso-table-lspace: 9.0pt;mso-table-rspace:9.0pt;mso-table-anchor-vertical:paragraph;mso-table-anchor-horizontal: margin;mso-table-left:left;mso-table-top:-3.8pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:-3.8pt;mso-height-rule:exactly'><span style='font-size:9.0pt;font-family:Verdana;color:blue'>Page <b>6</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'>, <b>3<sup>rd</sup></b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> bullet, <b>1<sup>st</sup></b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'><span style="mso-spacerun: yes"> </span>line reads:<o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:-3.8pt;mso-height-rule:exactly'><span style='font-size:9.0pt;font-family:Verdana;color:blue'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:-3.8pt;mso-height-rule:exactly'><span style='font-family:Times'>Managed code is used to create objects that can be garbage collection.<o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:-3.8pt;mso-height-rule:exactly'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (change highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:-3.8pt;mso-height-rule:exactly'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p class=MsoNormal><span style='font-family:Times'>Managed code is used to create objects that can be garbage <span style='background:yellow;mso-highlight: yellow'>collected</span>.<o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:-3.8pt;mso-height-rule:exactly'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> </td> </tr></table><table border=1 cellspacing=0 cellpadding=0 align=left style='border-collapse: collapse;border:none;mso-border-alt:solid windowtext .5pt;mso-table-lspace: 9.0pt;mso-table-rspace:9.0pt;mso-table-anchor-vertical:paragraph;mso-table-anchor-horizontal: margin;mso-table-left:left;mso-table-top:5.95pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:5.95pt;mso-height-rule:exactly'><span style='font-size:9.0pt;font-family:Verdana;color:blue'>Page <b>8</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'>, <b>6<sup>th</sup></b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> bullet, <b>1<sup>st</sup></b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'><span style="mso-spacerun: yes"> </span>line reads:<o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:5.95pt;mso-height-rule:exactly'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:5.95pt;mso-height-rule:exactly'><span style='font-family:Times'>A list of all reference assemblies<o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:5.95pt;mso-height-rule:exactly'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:5.95pt;mso-height-rule:exactly'><span style='font-size:9.0pt;font-family:Verdana;color:blue'>It should read (change highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:5.95pt;mso-height-rule:exactly'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:5.95pt;mso-height-rule:exactly'><span style='font-family:Times'>A list of all <span style='background:yellow; mso-highlight:yellow'>referenced</span> assemblies<o:p></o:p></span></p> <p class=MsoNormal style='mso-element:frame;mso-element-frame-hspace:9.0pt; mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal: margin;mso-element-top:5.95pt;mso-height-rule:exactly'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>17</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>Just-In-Time Compilation</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'>, Paragraph <b>2</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>The JIT compiling process is, in concept, very easy. When an application is started, the JIT compiler is called to convert the MSIL code and metadata into machine code. To avoid the potentially slow start-up time caused by compiling the entire application, the JIT compiler only compiles the portions of code that it calls, when they are called (hence the name, just-in-time compiler).<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>The JIT compiling process is, in concept, very easy. When an application is started, the JIT compiler is called to convert the MSIL code and metadata into machine code. To avoid the potentially slow start-up time caused by compiling the entire application, the JIT compiler only compiles the portions of code that <span style='background:yellow; mso-highlight:yellow'>the application</span> calls, when they are called (hence the name, just-in-time compiler).<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>19</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>6<sup>th</sup></b></span><span style='font-size: 9.0pt;font-family:Verdana;color:blue'> bullet, <b>1<sup>st</sup></b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> line reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>Handler types: A reference to a type<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times;background:yellow;mso-highlight:yellow'>Handle</span><span style='font-family:Times'> types: A reference to a type<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>19</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, Paragraph <b>1</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>A point worth mentioning is that the CLS defines all .NET-compatible language data types, but a .NET-compatible language does not need to support all CLS-defined data types.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>A point worth mentioning is that the <span style='background:yellow;mso-highlight:yellow'>CTS</span> defines all .NET-compatible language data types, but a .NET-compatible language does not need to support all <span style='background:yellow;mso-highlight:yellow'>CTS</span>-defined data types.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>21</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>.NET Application Development Realms</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'>, Paragraph <b>1</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>.NET application development falls primarily into one of five realms: Web applications, Web services, Windows applications, Windows services, and console applications. Using languages such as C#, Visual Basic .NET, and Visual Studio .NET provides a simple, powerful, and consistent environment to develop all five. Unfortunately, for C++/CLI, only four are supported: console applications, Windows applications, Windows services, and Web services.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>.NET application development falls primarily into one of five realms: Web applications, Web services, Windows applications, Windows services, and console applications. Using languages such as C#, Visual Basic .NET <span style='background:yellow;mso-highlight:yellow'>and C++/CLI, in conjunction with</span> Visual Studio .NET provides a simple, powerful, and consistent environment to develop all five. Unfortunately, for C++/CLI, only four are supported: console applications, Windows applications, Windows services, and Web services.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>30</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, Paragraph <b>4</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>The preceding line actually declares one handle and one pointer to an int and two variables of type int.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>The preceding <span style='background:yellow; mso-highlight:yellow'>lines</span> actually <span style='background:yellow; mso-highlight:yellow'>declare</span> one handle and one pointer to an int and two variables of type int.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>31</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, top of page reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'>int x = y = z = 200;<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'>int y, z;<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'>int x = y = z = 200;<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>32</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>Table 2-3</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>Abstract <span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>delegate<span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>event <span style="mso-spacerun: yes"> </span>finally<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>Generic <span style="mso-spacerun: yes"> </span>in<span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>initonly<span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>literal<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>Override<span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>property <span style="mso-spacerun: yes"> </span>sealed <span style="mso-spacerun: yes"> </span>where<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times;background:yellow;mso-highlight:yellow'>abstract</span><span style='font-family:Times'> <span style="mso-spacerun: yes"> </span>delegate<span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>event <span style="mso-spacerun: yes"> </span>finally<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times;background:yellow;mso-highlight:yellow'>generic</span><span style='font-family:Times'> <span style="mso-spacerun: yes"> </span>in<span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>initonly<span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>literal<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times;background:yellow;mso-highlight:yellow'>override</span><span style='font-family:Times'><span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>property <span style="mso-spacerun: yes"> </span>sealed <span style="mso-spacerun: yes"> </span>where<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>34</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, in <b>Caution</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'>A char is an 8-bit unsigned integer<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'>A char is an 8-bit <span style='background:yellow;mso-highlight:yellow'>signed</span> integer<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>32</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, in <b>Listing 2-1</b></span><span style='font-size: 9.0pt;font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'>// Initialize using charater literal<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Times'>// Initialize using <span style='background:yellow;mso-highlight:yellow'>character</span> literal<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>43</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, paragraph <b>2</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>Like the fundamental types already discussed, enums default to being placed on the stack but can beused automatically as objects when required.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>Like the fundamental types already discussed, enums default to being placed on the stack but can <span style='background:yellow; mso-highlight:yellow'>be used</span> automatically as objects when required.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>43</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, paragraph <b>5</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><a name="OLE_LINK1">CLI enums are different from native enums in that the names of the CLI enums values, better known as enumerators, can only be found through the scope of the enums name, and the declaring of the enumÕs data type has no meaning with a CLI enum.</a></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal>CLI enums are different from native enums in that the names of the CLI enums values, better known as enumerators, can only be found through the scope of the enums name, and the declaring of the enumÕs <span style='background:yellow;mso-highlight:yellow'>base</span> data type has no meaning with a CLI enum.</p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>45</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, paragraph <b>2</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>Listing 2-8 is a simple example of a value class called Coord3D. It is made up of three doubles, a constructor, and a Write() method. I cover constructors and overriding in Chapter 3.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (text to be removed highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>Listing 2-8 is a simple example of a value class called Coord3D. It is made up of three doubles, a constructor, and a Write() method. I cover constructors <span style='background:yellow;mso-highlight: yellow'><s>and overriding</s></span> in Chapter 3.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>46</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>last</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> paragraph reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>There are no stack base declarations of C++/CLI arrays using subscripts, as in traditional C++. All C++/CLI arrays are references and created on the managed heap.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Times'>There are no stack <span style='background:yellow; mso-highlight:yellow'>based</span> declarations of C++/CLI arrays using subscripts, as in traditional C++. All C++/CLI arrays are references and created on the managed heap.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>47</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>Unlike what you have seen so far when declaring data types, arrays are declared with syntax very similar to a C++/CLI templates or .NET 2.0 generic classes. Also, to declare an array requires the namespace </span><span style='font-family:TheSansMonoConSemiLight'>stdcli::language</span><span style='font-family:Utopia-Regular'>:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>using namespace stdcli::language;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>For those coders who had to struggle with the declaration syntax of an array in the previous version of .NET (1.0 and prior), the new syntax should seem like a breath of fresh air, as I believe is a little easier to work with do to three aspects of the declaration:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>É<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>To create an instance of the array, use the constructor initialization format. Also, because you are allocating the array to the managed heap, the </span><span style='font-family:TheSansMonoConSemiLight'>gcnew </span><span style='font-family:Utopia-Regular'>operator is required. Therefore, to create an array of five </span><span style='font-family:TheSansMonoConSemiLight'>int</span><span style='font-family:Utopia-Regular'>s and an array of seven </span><span style='font-family:TheSansMonoConSemiLight'>String</span><span style='font-family:Utopia-Regular'>s would require the following statements:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>using namespace stdcli::language;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<int>^ fiveInts = gcnew array<int>(5);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<String^>^ sevenStrings = gcnew array<String^>(7);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>Unlike what you have seen so far when declaring data types, arrays are declared with syntax very similar to a C++/CLI templates or .NET 2.0 generic classes. <span style='background:yellow; mso-highlight:yellow'><s>Also, to declare an array requires the namespace </s></span></span><span style='font-family:TheSansMonoConSemiLight;background:yellow;mso-highlight: yellow'><s>stdcli::language</s></span><span style='font-family:Utopia-Regular; background:yellow;mso-highlight:yellow'><s>:<o:p></o:p></s></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular;background:yellow;mso-highlight:yellow'><s><![if !supportEmptyParas]> <![endif]><o:p></o:p></s></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight;background:yellow;mso-highlight: yellow'><s>using namespace stdcli::language;</s></span><span style='font-family:TheSansMonoConSemiLight'><s><o:p></o:p></s></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>For those coders who had to struggle with the declaration syntax of an array in the previous version of .NET (<span style='background:yellow;mso-highlight:yellow'>1.1</span> and prior), the new syntax should seem like a breath of fresh air, <span style='background:yellow; mso-highlight:yellow'>and</span> I believe is a little easier to work with do to three aspects of the declaration:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>É<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>To create an instance of the array, use the constructor initialization format. Also, because you are allocating the array to the managed heap, the </span><span style='font-family:TheSansMonoConSemiLight'>gcnew </span><span style='font-family:Utopia-Regular'>operator is required. Therefore, to create an array of five </span><span style='font-family:TheSansMonoConSemiLight'>int</span><span style='font-family:Utopia-Regular'>s and an array of seven </span><span style='font-family:TheSansMonoConSemiLight'>String</span><span style='font-family:Utopia-Regular'>s would require the following statements:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight;background:yellow;mso-highlight: yellow'><s>using namespace stdcli::language;</s></span><span style='font-family:TheSansMonoConSemiLight'><s><o:p></o:p></s></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<int>^ fiveInts = gcnew array<int>(5);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<String^>^ sevenStrings = gcnew array<String^>(7);<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>47</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>Code snippet after the second Unsafe code block</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> read:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>class CLASS {};<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<CLASS*>^ pClass = gcnew array<CLASS*>(5);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>for (int i = 0; i < pClass->Length; i++)<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>pClass[i] = new CLASS();<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>...<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>for (int i = 0; i < pClass->Length; i++)<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>delete pClass[i];<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>class CLASS {};<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<CLASS*>^ <span style='background:yellow;mso-highlight:yellow'>h</span>Class = gcnew array<CLASS*>(5);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>for (int i = 0; i < <span style='background:yellow;mso-highlight:yellow'>h</span>Class->Length; i++)<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span><span style='background:yellow;mso-highlight: yellow'>h</span>Class[i] = new CLASS();<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>...<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>for (int i = 0; i < <span style='background:yellow;mso-highlight:yellow'>h</span>Class->Length; i++)<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>delete <span style='background:yellow;mso-highlight:yellow'>h</span>Class[i];<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>48</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>first code snippet</b></span><span style='font-size: 9.0pt;font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>using namespace stdcli::language;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<int, 1>^ Ints_5 = gcnew array<int>(5);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<int, 2>^ Ints_5x3 = gcnew array<int>(5, 3);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<int, 3>^ Ints_5x3x2 = gcnew array<int>(5, 3, 2);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (text to be removed highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight;background:yellow;mso-highlight: yellow'><s>using namespace stdcli::language;</s></span><span style='font-family:TheSansMonoConSemiLight'><s><o:p></o:p></s></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<int, 1>^ Ints_5 = gcnew array<int>(5);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<int, 2>^ Ints_5x3 = gcnew array<int>(5, 3);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array<int, 3>^ Ints_5x3x2 = gcnew array<int>(5, 3, 2);<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>48</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>middle code snippet</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array< array<int>^ >^ jagged = gcnew array< array<int>^ >(4);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>for (int i = 0; i < jagged->Length; i++)<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>{<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>e[i] = gcnew array<int>((i+1) * 5); // each row 5 bigger<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>}<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>array< array<int>^ >^ jagged = gcnew array< array<int>^ >(4);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>for (int i = 0; i < jagged->Length; i++)<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>{<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span><span style='background:yellow;mso-highlight: yellow'>jagged</span>[i] = gcnew array<int>((i+1) * 5); // each row 5 bigger<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>}<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Pages <b>52, 61, 75, 80</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'>,<span style="mso-spacerun: yes"> </span>Assorted instances<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'>Change all references of ÔInt32Õ on these pages to <span style='background:yellow; mso-highlight:yellow'>int</span><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>59</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'> second last line on <b>listing 2-12</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>Console::WriteLine ( e ); // displays the letter 'e'<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>Console::WriteLine ( e ); // displays the letter '<span style='background:yellow;mso-highlight:yellow'>E</span>'<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Pages <b>63</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'> and continues on <b>64</b></span><span style='font-size: 9.0pt;font-family:Verdana;color:blue'> reads: (Careful with this one. This error is from the first book)<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>The bitwise AND operator compares the bit pattern of its two operands. If both the bits at the same offset in the bit pattern are 1s, then the resulting bit pattern will become a 1; otherwise, it will become a 0. For example:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>0101 & 0011 becomes 0001<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>The bitwise OR operator compares the bit pattern of its two operands. If either or both the bits at the same offset in the bit pattern are 1s, then the resulting bit pattern will become a 1; otherwise, it will become a 0. For example:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>0101 & 0011 becomes 0111<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>The bitwise XOR operator compares the bit pattern of its two operands. If either, but not both, of the bits at the same offset in the bit pattern is a 1, then the resulting bit pattern will become a 1; otherwise, it will become a 0. For example:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>0101 & 0011 becomes 0110<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>The ones complement operator simply flips the bits. If it was a 1, then it becomes a 0, and vice versa:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>0101 becomes 1010<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>The bitwise AND operator compares the bit pattern of its two operands. If both the bits at the same offset in the bit pattern are 1s, then the resulting bit pattern will become a 1; otherwise, it will become a 0. For example:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>0101 & 0011 becomes 0001<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>The bitwise OR operator compares the bit pattern of its two operands. If either or both the bits at the same offset in the bit pattern are 1s, then the resulting bit pattern will become a 1; otherwise, it will become a 0. For example:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>0101 <span style='background: yellow;mso-highlight:yellow'>|</span> 0011 becomes 0111<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>The bitwise XOR operator compares the bit pattern of its two operands. If either, but not both, of the bits at the same offset in the bit pattern is a 1, then the resulting bit pattern will become a 1; otherwise, it will become a 0. For example:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>0101 <span style='background: yellow;mso-highlight:yellow'>^</span> 0011 becomes 0110<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>The ones complement operator simply flips the bits. If it was a 1, then it becomes a 0, and vice versa:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight;background:yellow;mso-highlight: yellow'>~</span><span style='font-family:TheSansMonoConSemiLight'>0101 becomes 1010<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>75</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, paragraph <b>one</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>It means you canÕt add or remove elements to or from the collection. This is not an issue for arrays, given that this is not allowed anyway, but for many other collection types it may be a problem. The worst thing is if the compiler doesn't catch it. It is the CLR that lets you know about it by throwing an exception.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>It means you canÕt add or remove elements to or from the collection. This is not an issue for arrays, given that this is not allowed anyway, but for many other collection types it may be a problem. The worst thing is <span style='background:yellow;mso-highlight: yellow'>that</span> the compiler doesn't catch it. It is the CLR that lets you know about it by throwing an exception.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>76</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, paragraph <b>4</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>The </span><span style='font-family:TheSansMonoConSemiLight'>parameter-list </span><span style='font-family:Utopia-Regular'>is a comma-separated list of variable declarations that define the variable, which will be passed to the function when it starts executing. Parameter variables can be any value types, references, handles, or pointers, even ones that are user defined.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>The </span><span style='font-family:TheSansMonoConSemiLight'>parameter-list </span><span style='font-family:Utopia-Regular'>is a comma-separated list of variable declarations that define the variable<span style='background:yellow; mso-highlight:yellow'>s</span>, which will be passed to the function when it starts executing. Parameter variables can be any value types, references, handles, or pointers, even ones that are user defined.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>77</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>middle</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> of page reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>int a = 5;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>int b = example(a);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>the value of </span><span style='font-family:TheSansMonoConSemiLight'>a </span><span style='font-family: Utopia-Regular'>will be 10.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>There is a pro and a con to using references. The pro is that it is faster to pass arguments by reference, as there is no copy step involved. The con is that, unlike using handlers, other than </span><span style='font-family:TheSansMonoConSemiLight'>%</span><span style='font-family:Utopia-Regular'>, there is no difference between passing by value or reference. There is a very real possibility that changes can happen to argument variables within a function without the programmer knowing.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (text to be removed highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>int a = 5;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight;background:yellow;mso-highlight: yellow'><s>int b =</s></span><span style='font-family:TheSansMonoConSemiLight'><s> </s>example(a);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>the value of </span><span style='font-family:TheSansMonoConSemiLight'>a </span><span style='font-family: Utopia-Regular'>will be 10.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>There is a pro and a con to using references. The pro is that it is faster to pass arguments by reference, as there is no copy step involved. The con is that, unlike using handle<span style='background:yellow;mso-highlight:yellow'><s>r</s></span>s, other than </span><span style='font-family:TheSansMonoConSemiLight'>%</span><span style='font-family: Utopia-Regular'>, there is no difference between passing by value or reference. There is a very real possibility that changes can happen to argument variables within a function without the programmer knowing.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>90</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>Private Public and Protected</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'>..., <b>end</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> of paragraph <b>1</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>Most people who code C++ use the keywords ref class when they create objects, and ref struct is very seldom if ever used.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana;color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana;color:blue'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>Most people who code C++<span style='background:yellow;mso-highlight:yellow'>/CLI</span> use the keywords ref class when they create objects, and ref struct is very seldom if ever used.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>92</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>last</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> paragraph reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>If you have come from the traditional C++ world, you may have noticed the new keyword ref in front of the classÕs definition. This is one of the biggest and most important changes between traditional C++ and C++/CLI. (It is also a big change from C++/CLI and Managed Extensions for C++, as the keyword was __gc.)<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (text to be removed highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>If you have come from the traditional C++ world, you may have noticed the new keyword ref in front of the classÕs definition. This is one of the biggest and most important changes between traditional C++ and C++/CLI. (It is also a big change <span style='background: yellow;mso-highlight:yellow'>for</span> <span style='background:yellow; mso-highlight:yellow'><s>C++/CLI and</s></span> Managed Extensions for C++, as the keyword was __gc.)<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>97</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>last</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> paragraph reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>This fancy name is simply C++/CLIÕs way of reminding programmers that </span><span style='font-family:TheSansMonoConSemiLight'>ref class</span><span style='font-family:Utopia-Regular'>es are objects. Member variables are simply variables defined within the definition of a </span><span style='font-family:TheSansMonoConSemiLight'>ref class</span><span style='font-family:Utopia-Regular'>.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana;color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>This fancy name is simply C++/CLIÕs way of reminding programmers that </span><span style='font-family:TheSansMonoConSemiLight'>ref class</span><span style='font-family:Utopia-Regular'>es are object <span style='background:yellow;mso-highlight:yellow'>definitions</span>. Member variables are simply variables defined within the definition of a </span><span style='font-family:TheSansMonoConSemiLight'>ref class</span><span style='font-family:Utopia-Regular'>.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>98</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>1<sup>st</sup></b></span><span style='font-size: 9.0pt;font-family:Verdana;color:blue'> paragraph <b>after Unsafe Code block</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>Member variables can be public, protected, or private. With C++/CLI and </span><span style='font-family:TheSansMonoConSemiLight'>ref class</span><span style='font-family:Utopia-Regular'>es, public member variables should be handled with care, especially if invalid values in these variables will cause problems in the programÕs execution.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana;color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>Member variables can be public, protected, or private. With C++/CLI<span style='background:yellow;mso-highlight:yellow'>, a </span></span><span style='font-family:TheSansMonoConSemiLight;background: yellow;mso-highlight:yellow'>ref class</span><span style='font-family:Utopia-Regular; background:yellow;mso-highlight:yellow'>Õs</span><span style='font-family: Utopia-Regular'> public member variables should be handled with care, especially if invalid values in these variables will cause problems in the programÕs execution.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>119</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>Scalar Properties</b></span><span style='font-size: 9.0pt;font-family:Verdana;color:blue'>, Paragraph <b>3</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=BodyTextCont>You can make a property write-only by excluding the set method in the propertyÕs declaration:</p> <p class=CodeFirst>property type PropertyName</p> <p class=Code>{</p> <p class=Code><span style="mso-spacerun: yes"> </span>type get() {};</p> <p class=CodeLast>}</p> <p class=BodyTextCont>Conversely, you can make the property read-only by excluding the get method:</p> <p class=CodeFirst>property type PropertyName</p> <p class=Code>{</p> <p class=Code><span style="mso-spacerun: yes"> </span>void set (type value) {};</p> <p class=CodeLast>}</p> <p class=MsoBodyText>The get() method gives you full access to the property to do as you please. The most common thing you will do is validate the parameter and then assign it to a private member variable.</p> <p class=MsoBodyText>The only real catch you might encounter is that the property name cannot be the same as a member variable. A conversion I use, which is by no means a standard, is to use a lowercase letter as the first letter of the member variable and an uppercase as the first letter of the property name.</p> <p class=MsoBodyText>With the addition of a set method, you are now free to put any calculation you want within the method, but it must return the type specified. For this type of property, the most common body of the method is a simple return of the member variable storage of the property.</p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><a name="OLE_LINK2"></a><a name="OLE_LINK3"><span style='mso-bookmark:OLE_LINK2'><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></span></a></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=BodyTextCont>You can make a property write-only by excluding the <span style='background:yellow;mso-highlight:yellow'>get()</span> method in the propertyÕs declaration:</p> <p class=CodeFirst>property type PropertyName</p> <p class=Code>{</p> <p class=Code><span style="mso-spacerun: yes"> </span><span style='background:yellow;mso-highlight:yellow'>void set(type value) {};</span></p> <p class=CodeLast>}</p> <p class=BodyTextCont>Conversely, you can make the property read-only by excluding the <span style='background:yellow;mso-highlight:yellow'>set()</span> method:</p> <p class=CodeFirst>property type PropertyName</p> <p class=Code>{</p> <p class=Code><span style="mso-spacerun: yes"> </span><span style='background:yellow;mso-highlight:yellow'>type get() {};</span></p> <p class=CodeLast>}</p> <p class=MsoBodyText>The <span style='background:yellow;mso-highlight:yellow'>set()</span> method gives you full access to the property to do as you please. The most common thing you will do is validate the parameter and then assign it to a private member variable.</p> <p class=MsoBodyText>The only real catch you might encounter is that the property name cannot be the same as a member variable. A <span style='background:yellow;mso-highlight:yellow'>convention</span> I use, which is by no means a standard, is to use a lowercase letter as the first letter of the member variable and an uppercase as the first letter of the property name.</p> <p class=MsoBodyText>With the addition of a <span style='background:yellow; mso-highlight:yellow'>get()</span> method, you are now free to put any calculation you want within the method, but it must return the type specified. For this type of property, the most common body of the method is a simple return of the member variable storage of the property.</p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>127</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>listing 3-13</b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:Arial; color:navy;mso-ansi-language:EN-GB'><i> </i></span><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> property String^ default [int]<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> {<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> String^ get(int index)<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> {<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> if (index < 0)<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> index = 0;<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> else if (index > defaultArray->Length)<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> index = defaultArray->Length - 1;<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> return defaultArray[index];<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> }<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> }<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>private:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> array<String^>^ defaultArray;<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>};<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>void main() <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>{<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> Numbers numbers;<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> Console::WriteLine(numbers[-1]);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> Console::WriteLine(numbers[3]);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> Console::WriteLine(numbers[10]);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>}<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:Arial; color:navy;mso-ansi-language:EN-GB'><i> </i></span><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> property String^ default [int]<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> {<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> String^ get(int index)<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> {<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> if (index < 0)<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> index = 0;<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> else if (index > defaultArray->Length <span style='background:yellow; mso-highlight:yellow'>- 1</span>)<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> index = defaultArray->Length - 1;<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> return defaultArray[index];<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> }<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> }<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>private:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> array<String^>^ defaultArray;<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>};<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>void main() <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>{<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> Numbers numbers;<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> Console::WriteLine(numbers[-1]);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> Console::WriteLine(numbers[3]);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'> Console::WriteLine(numbers[<span style='background:yellow;mso-highlight:yellow'>6</span>]);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>}<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>128</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, listing <b>3-14 </b></span><span style='font-size:9.0pt; font-family:Verdana;color:blue'>reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>public:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>ref class NestedClass // Declaration of the nested class<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>public:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>int publicMember;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>protected:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>int protectedMember;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>private:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>int privateMember;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>};<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>NestedClass^ protectedNC; // protected variable reference to NestedClass<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>private:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>NestedClass^ privateNC; // private variable reference to NestedClass<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>public:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>ref class NestedClass // Declaration of the nested class<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>public:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>int publicMember;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>protected:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>int protectedMember;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>private:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>int privateMember;<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>};<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight;background:yellow; mso-highlight:yellow'>protected:</span><span style='font-size:11.0pt; font-family:TheSansMonoConSemiLight'><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>NestedClass^ protectedNC; // protected variable reference to NestedClass<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'>private:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:11.0pt;font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>NestedClass^ privateNC; // private variable reference to NestedClass<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><b><o:p></o:p></b></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>167</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, paragraph <b>before Listing 4-10</b></span><span style='font-size:9.0pt;font-family:Verdana;color:blue'> reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>Listing 4-10 shows a simple example of an exception. I noted in Chapter 3 that the </span><span style='font-family: TheSansMonoConSemiLight'>safe_cast </span><span style='font-family:Utopia-Regular'>operator throws a </span><span style='font-family:TheSansMonoConSemiLight'>System::InvalidCastException </span><span style='font-family:Utopia-Regular'>when it is unable to convert from one try to another.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:Utopia-Regular'>Listing 4-10 shows a simple example of an exception. I noted in Chapter 3 that the </span><span style='font-family: TheSansMonoConSemiLight'>safe_cast </span><span style='font-family:Utopia-Regular'>operator throws a </span><span style='font-family:TheSansMonoConSemiLight'>System::InvalidCastException </span><span style='font-family:Utopia-Regular'>when it is unable to convert from one <span style='background:yellow;mso-highlight:yellow'>type</span> to another.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=443 valign=top style='width:6.15in;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>Page <b>170</b></span><span style='font-size:9.0pt;font-family: Verdana;color:blue'>, <b>1<sup>st</sup></b></span><span style='font-size: 9.0pt;font-family:Verdana;color:blue'> code snippet reads:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>try<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>{<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>// Methods that throw OutOfMemoryException<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>}<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>catch (OutOfMemoryException *oome) // If a method throws an exception<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>{<span style="mso-spacerun: yes"> </span>// Execution will continue here<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>// Process exception<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>}<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana; color:blue'>It should read (changes highlighted):<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>try<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>{<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>// Methods that throw OutOfMemoryException<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>}<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>catch (OutOfMemoryException <span style='background:yellow;mso-highlight:yellow'>^</span>oome) // If a method throws an exception<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>{<span style="mso-spacerun: yes"> </span>// Execution will continue here<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'><span style="mso-spacerun: yes"> </span>// Process exception<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:TheSansMonoConSemiLight'>}<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p></div></body></html>