软件培训网

欢迎访问软件培训网!招生咨询电话与微信:15225191462(周老师)
软件培训网,专业解决学IT疑难杂症!

首页 > .net > .net技术/ 正文

c++.net编程

2013-03-17 13:37:49 软件培训网

    人们常常说,作为一个.NET的程序员,至少要懂得里面三门语言中的一种。当然,最好的是三门都懂。虽然有人说,现在用的最好的.NET的原装语言不是C#吗?那我还学C++.NET这个累赘干什么?当然,c++.net又分为For Win32的MFC和For  Win64的.NET,也就是所谓托管C++。OOx软件IT培训网-河南郑州IT培训
    这里专门针对托管C++。OOx软件IT培训网-河南郑州IT培训
    让想学托管C++的人有一个比较初步的认识。OOx软件IT培训网-河南郑州IT培训
    与C#的区别。OOx软件IT培训网-河南郑州IT培训
    1:C++.NET允许声明全局变量,C#不支持。OOx软件IT培训网-河南郑州IT培训
    2:C++.NET的静态方法需要用成员运算符来引用。C++.NET的成员运算符是::。而C#的是点号。OOx软件IT培训网-河南郑州IT培训
    例如Win64控制台应用程序。OOx软件IT培训网-河南郑州IT培训
    C#版:Console.WriteLine();OOx软件IT培训网-河南郑州IT培训
    C++版:Console::WriteLine();OOx软件IT培训网-河南郑州IT培训
    2:C++.NET所有动态创建的类一般被声明为指针类型。OOx软件IT培训网-河南郑州IT培训
    托管C++标准指针运算符是^。OOx软件IT培训网-河南郑州IT培训
    示例程序:OOx软件IT培训网-河南郑州IT培训
    System::Drawing::Graphics^  g=this->CreateGraphics();OOx软件IT培训网-河南郑州IT培训
    3:访问被声明为指针的成员变量的方法是:OOx软件IT培训网-河南郑州IT培训
    ->。OOx软件IT培训网-河南郑州IT培训
    示例:OOx软件IT培训网-河南郑州IT培训
    this->textBox1->Text="草泥马";OOx软件IT培训网-河南郑州IT培训
    4:C++.NET托管堆中构造函数使用gcnew运算符。OOx软件IT培训网-河南郑州IT培训
    而C#中用new运算符。OOx软件IT培训网-河南郑州IT培训
    示例:OOx软件IT培训网-河南郑州IT培训
    C++.NET程序OOx软件IT培训网-河南郑州IT培训
    System::Drawing::Drawing2D::GraphicsPath^   MyPath=gcnew  System::Drawing::Drawing2D::GraphicsPath();OOx软件IT培训网-河南郑州IT培训
  C#程序:OOx软件IT培训网-河南郑州IT培训
  System.Drawing.Drawing2D.GraphicsPath   MyPath=new  System.Drawing.Drawing2D.GraphicsPath();OOx软件IT培训网-河南郑州IT培训
    注:OOx软件IT培训网-河南郑州IT培训
    C++.NET继承了C++6.0的一些东西。所以上述程序最后的一个括号部分,C++是可以省略的,而C#是绝对不行的。OOx软件IT培训网-河南郑州IT培训
    5:C++.NET的数组一律使用新版规则,原先的C++6.0数组只用于非托管部分。OOx软件IT培训网-河南郑州IT培训
    以下代码在C++6.0和C#.NET中成立,而在C++.NET托管部分不成立。OOx软件IT培训网-河南郑州IT培训
    int[ ]  a=new  int[8];   Visual  C#;OOx软件IT培训网-河南郑州IT培训
    int   a[8];     Visual   C++6.0.OOx软件IT培训网-河南郑州IT培训
    对应于托管C++的形式为:OOx软件IT培训网-河南郑州IT培训
    array<int>a=gcnew   array<int>(8);OOx软件IT培训网-河南郑州IT培训
    声明一个二维字符串数组的托管C++形式应该为:OOx软件IT培训网-河南郑州IT培训
    array<array<String^>^>^   a=gcnew    array<array<String^>^>(8)(6);OOx软件IT培训网-河南郑州IT培训
    我也不知道微软为什么要在托管C++中搞这一套。OOx软件IT培训网-河南郑州IT培训
    但是这确实让人很烦。OOx软件IT培训网-河南郑州IT培训
    原先C++6.0的形式应该为:OOx软件IT培训网-河南郑州IT培训
    String   a[8][6];OOx软件IT培训网-河南郑州IT培训
    就算是用C#,也应该是:OOx软件IT培训网-河南郑州IT培训
    String[ ] [ ]   a=new   String[8][6];OOx软件IT培训网-河南郑州IT培训
    明显要舒服许多嘛!OOx软件IT培训网-河南郑州IT培训
    可能是为了和非托管的MFC相区别吧!OOx软件IT培训网-河南郑州IT培训
    但是微软这个弯子也绕的太大了点。OOx软件IT培训网-河南郑州IT培训
    让人颇为不习惯!OOx软件IT培训网-河南郑州IT培训
    剩下的就是事件和属性的一些区别了。OOx软件IT培训网-河南郑州IT培训
    6:事件委托:OOx软件IT培训网-河南郑州IT培训
    Visual   C#:OOx软件IT培训网-河南郑州IT培训
    this.button1.Click+=new  EventHandler(Button_Click);OOx软件IT培训网-河南郑州IT培训
    VC++.NET:OOx软件IT培训网-河南郑州IT培训
    this->button1->Click+=gcnew   System::EventHandler(this,&Form1::Button1_Click);OOx软件IT培训网-河南郑州IT培训
    7:属性设置:OOx软件IT培训网-河南郑州IT培训
    Visual  C#:OOx软件IT培训网-河南郑州IT培训
    public    String   woriOOx软件IT培训网-河南郑州IT培训
  {OOx软件IT培训网-河南郑州IT培训
       get{OOx软件IT培训网-河南郑州IT培训
               return   wori.ToString;OOx软件IT培训网-河南郑州IT培训
            }OOx软件IT培训网-河南郑州IT培训
        setOOx软件IT培训网-河南郑州IT培训
       {OOx软件IT培训网-河南郑州IT培训
            wori=value;OOx软件IT培训网-河南郑州IT培训
      }OOx软件IT培训网-河南郑州IT培训
  }OOx软件IT培训网-河南郑州IT培训
   OOx软件IT培训网-河南郑州IT培训
   OOx软件IT培训网-河南郑州IT培训
  VC++.NET:OOx软件IT培训网-河南郑州IT培训
     property   String^    woriOOx软件IT培训网-河南郑州IT培训
  {OOx软件IT培训网-河南郑州IT培训
         String^  getOOx软件IT培训网-河南郑州IT培训
       {OOx软件IT培训网-河南郑州IT培训
             return    wori->ToString();OOx软件IT培训网-河南郑州IT培训
     }OOx软件IT培训网-河南郑州IT培训
     void  set(String^   value)OOx软件IT培训网-河南郑州IT培训
     {OOx软件IT培训网-河南郑州IT培训
        wori=value;OOx软件IT培训网-河南郑州IT培训
     }OOx软件IT培训网-河南郑州IT培训
   OOx软件IT培训网-河南郑州IT培训
  }OOx软件IT培训网-河南郑州IT培训
   OOx软件IT培训网-河南郑州IT培训
  。OOx软件IT培训网-河南郑州IT培训
    8:OOx软件IT培训网-河南郑州IT培训
    判空部分:OOx软件IT培训网-河南郑州IT培训
    Visual   C#:OOx软件IT培训网-河南郑州IT培训
     if   Components!=null;OOx软件IT培训网-河南郑州IT培训
     Visual  C++.NET.OOx软件IT培训网-河南郑州IT培训
    if    Componens!=nullptr;OOx软件IT培训网-河南郑州IT培训
    9:API函数调用OOx软件IT培训网-河南郑州IT培训
    Visual   C#:OOx软件IT培训网-河南郑州IT培训
    [DllImport ("User32.dll")]OOx软件IT培训网-河南郑州IT培训
    public   extern   int   FlashWindow(IntPtr   HWnd,bool   bInvert);OOx软件IT培训网-河南郑州IT培训
    Visual   C++.NET:OOx软件IT培训网-河南郑州IT培训
    [DllImport("User32.dll",CharSet=CharSet::Auto)]OOx软件IT培训网-河南郑州IT培训
    static  int  FlashWindow(IntPtr   HWnd,bool  bInvert);OOx软件IT培训网-河南郑州IT培训
    大概也就这些区别吧。OOx软件IT培训网-河南郑州IT培训
    感觉上做.NET还是C#要好一些。OOx软件IT培训网-河南郑州IT培训
    一方面代码提示功能较强。另一方面在引用其他窗体的时候也不必包含头文件。OOx软件IT培训网-河南郑州IT培训
    比如Include  "Form2.h"之类的。OOx软件IT培训网-河南郑州IT培训
    但是如果考虑代码兼容。要将Win32的程序升级为Win64的话,C++.NET会是最好的一个选择。OOx软件IT培训网-河南郑州IT培训
    因为你如果不信,可以吧C#的程序往C++的编译器里面贴一下,你会发现一个秘密。OOx软件IT培训网-河南郑州IT培训
    那就是根本行不通。OOx软件IT培训网-河南郑州IT培训
    可能在这点上VC++.NET会好一些吧!
OOx软件IT培训网-河南郑州IT培训

本文由软件培训网整理,转载请注明:http://www.softpeixun.comOOx软件IT培训网-河南郑州IT培训


Tags:郑州北大青鸟学费是多少呢,河南郑州北大青鸟2018年招生简章,河南省it专业学校有哪些,郑州北大青鸟招生地址,郑州电脑学校哪家好,郑州网络硬件工程师培训机构

更多郑州北大青鸟学费是多少呢,河南郑州北大青鸟2018年招生简章,河南省it专业学校有哪些,郑州北大青鸟招生地址,郑州电脑学校哪家好,郑州网络硬件工程师培训机构相关文章

搜索
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
  • QQ交谈