2009-02-22 158 views
-1

N個元素的C/C++中的數組的下標從0到N-1的下界作爲上界。其他語言(如Pascal)允許用戶指定任何下限和上限下標值以創建(上限 - 下限+ 1)元素的數組。類的構造函數

問題:在C++中創建一個類「Array」,它允許用戶指定兩種數組形式。數組中的每個元素將是一個浮點值。該課程是爲了最大限度地提高信息隱藏量。清楚地顯示進入頭文件array.h和進入源文件array.cpp的信息。頭文件必須保證頭文件信息的多個副本不能存在於任何源代碼文件中。

有人可以幫我嗎?謝謝。

+0

你需要哪些幫助?這項任務聽起來很清楚。 – 2009-02-22 06:59:10

回答

2

將所有問題推送到堆棧中。

膨化他們...

任何人可以幫助我嗎?

讓我們來看看。

頭文件必須保證頭文件信息的多個副本不能存在於任何源代碼文件中。

有沒有聽說過頭球后衛?或者,#pragma?這是兩種解決方案,但你必須弄清楚每種解決方案的優缺點。

清楚地顯示進入頭文件array.h和進入源文件array.cpp的信息。

您是否熟悉使用C或C++編程?

該類是最大化信息量隱藏。

封裝。 C++/OOD上的任何標準文本都可以幫助你。這個想法是有接口並圍繞它們構建你的代碼。

數組中的每個元素將是一個浮點值

當然,爲什麼不?

在C++中創建一個類「數組」,允許用戶指定兩種數組形式。

當然。你是否也需要有多維數組?你所需要做的就是在這些表格之間進行翻譯。您希望用戶在使用數組類時使用什麼語法?例如:流行的形式是使用運算符[]訪問數組元素,如float_array [i],其中i = 0,1,... N-1。

class Array { 
    public: 
    explicit Array(size_t n); // default array, C-style indexing 
    Array(size_t begin, size_t end); // Pascal-style indexing 
    private: 
    float *_a; 
}; 

這會讓你開始。讓我們知道你是否有更多問題。

0

冒着冒着這種風險,我會去模板化的解決方案。它更優雅。像這樣的東西可能是:

template<int START, int END> 
class Array 
{ 
    float operator[](int i) { ... } 
... 
private: 
    float m_data[END - START]; 

};