维纳斯
在程序中寻找自由与成就感~~~~
  1. 首先最重要的一点就是结构是值类型,而类是引用类型。
  2. 不能为结构声明一个自己的默认构造函数(无参的)

       Struct Time

      {

         public Time(){……}//编译时会出错

      }

    之所以不能在struct中声明自己的无参构造函数,是因为编译器将始终生成一个默认构造函数。在类中,只有在你没有写任何构造函数的前提下,编译器才会生成一个默认构造函数。

    结构:假设你自己写了一个有参的构造函数,但是你没与在此构造函数中初始化所有的字段,那么编译器将不会再帮你初始化它。(但是在类中是可以的)即必须在结构的所有构造函数中显示的初始化所有字段,否则就会得到编译器错误。

   比如:若Time(Time中三个字段,hours、minutes、seconds)是一个类,则下例能编译,而且seconds会被初始化为0。但由于Time是一个struct,所以它无法编译:

    Struct  Time

  {

    public Time(int hh,int mm)

    {

      hours=hh;

      minutes=mm;

    }//编译错误,seconds未能初始化

  }

3.在一个类中,可以再声明的同时初始化实例字段,但是在struct中不能这么做。每个结构都必须在它所以构造函数中初始化它的所有字段。

 

posted on 2012-11-23 13:54  维纳斯  阅读(382)  评论(0编辑  收藏  举报