2010年8月20日 星期五

structure 的眉角

從某些方面來看,struct 與class 真的很像,以下是宣告方式


struct inflatable
{
  char name[20];
  float volume;
  double price;
};





class inflatable
{
  char name[20];
  float volume;
  double price;
};


你可能會說 class 比 struct 多了建構子可以用,使用者不必擔心 member variable 初始化的問題,其實 struct 內部也是可以有 function 的,


struct inflatable
{
  char name[20];
  float volume;
  double price;
  inflatable()
  {
    name[20] = "name";
    volume = 0.0;
    price = 0.0;
  }
};


如此即可
inflatable DataA;
DataA.price 即可得到 0.0

順便記一下結構的陣列宣告

inflatable data[] = {{"Ascii", 0.1, 0.1},{"iicsA", 0.2, 0.2}};


無名稱的結構使用方法


struct
{
  int x;
  int y;
  int z;
} point3D;


point3D 即是一個立即可使用的結構變數,
也可在宣告時就賦值,


struct
{
  int x;
  int y;
  int z;
} point3D = {30, 40, 50};

沒有留言:

張貼留言