2015-04-23 35 views
1

我有三個對象,(目前)我代表如結構:如何編程這些結構?

  • 一個Dataset
  • 一個DatasetWindow
  • 一個MovingWindow

和可變windowSize

可能有多個Dataset's,每個應該有它自己的DatasetWindow。 好,不夠公平,對我來說這聽起來像我做一個DatasetWindow結構,並把它作爲一個Dataset結構的成員

會有隻有一個MovingWindow,但應該瞭解所有的Dataset的。好吧,到目前爲止,它似乎很簡單。我爲MovingWindow創建了另一個結構,它有一個指向Dataset的指針。 (一組數據集)。

所以到目前爲止,我有這樣的事情:

typedef struct { 
     int *buffer; 
     int someOtherMember; 
     } DatasetWindow; 

typedef struct { 
     int someMember; 
     DatasetWindow *window; //Pointer to a DatasetWindow obj. 
     } Dataset; 

typedef struct { 
     int offset; 
     int someMember; 
     Dataset *datasets; //Array of Dataset 
     } MovingWindow; 

我有困難的部分是這樣的: MovingWindow應該知道windowSize,也應每DatasetWindow。 但Dataset應該最好不需要知道什麼windowSize是。

我不知道如何安排我的結構來支持它?

+0

在結構中添加一個指向windowSize的指針? – Eregrith

回答

2

您可以修改結構的定義MovingWindowDatasetWindow以合併保存您的windowSize的值的成員(指針或整數變量)。