2017-06-19 266 views
-4

的陣列我寫的代碼的其餘部分,以使這項工作:C++對象初始化

int main() 
{ 
    Pair p[2] = {{7,21}}; 
    cout<< p[0] <<" , "<< p[1] <<endl; 
    double d[2] = { p[0], p[1] }; 
    cout<< "d = " << d[0] <<" , "<< d[1] <<endl; 
} 

我已經做了一些嘗試,但並沒有真正拿出什麼有意義。

輸出應該

7 , 21 
d = 7 , 21 

這是我的C++考試的第二年,有誰知道怎麼樣?

+1

你有一個* 2 *'Pair'對象的數組,你用'{7,21}'顯式初始化數組中的第一個元素('p [0]')。第二個元素('p [1]')被隱式地初始化爲「零」(具體發生什麼取決於Pair類或結構以及它具有什麼(可能的)構造函數以及它們的作用)。 –

+1

哦,你應該採取一些去[閱讀如何問好問題](http://stackoverflow.com/help/how-to-ask),並學習如何創建一個[最小,**完整**和可驗證示例](http://stackoverflow.com/help/mcve)。例如,您向我們展示了預期的輸出,但是*實際*輸出是什麼? –

+1

沒有實際的輸出,因爲它尚未完成...這就是我必須要做的。 – mushisgosu

回答

0

如果你的目標(你沒有在您的文章註明),是設計Pair類來使程序的工作,你的類將需要以下:

  1. 構造函數2個參數。
  2. 需要0個參數的構造函數。
  3. 重載operator<<使用流。
  4. 超載operator double返回double值從 Pair

第4項可能很困難,因爲有無數個方程返回給定2個整數的double。你需要了解更多信息或建立某種功能是這樣的:

double operator double() { return first * 4 + second;} 

編輯1:
您可能還需要重載operator[]Pair類看起來像一個整數數組。