Supose我有一個包含許多領域的一類,和/或在不斷地變化(在開發中),和它的所有字段或者是當地人或不必然-POD類型,其提供一個滿意的拷貝構造,但一個的 - 它甚至可能刪除或私有化其拷貝構造函數,但爲我提供了根據需要執行拷貝的方法。
現在假設我需要它有它自己的拷貝構造函數。
我是必然要通過寫場副本詳盡(排氣)場,或者是有一個更清潔,少接觸到的錯誤,方法來達到同樣的目的?c + +複製構造函數 - 隱式複製除了一個字段的所有?
圖示碼:
class Big {
public :
Big(Big const & big) : ? { ? }
protected :
int i1, i2, ... , i50;
float f1, f2, ... , f50;
CopyConstructableClass1 c1;
CopyConstructableClass2 c2;
...
CopyConstructableClass20 c20;
NonCopyConstructableClass ncc;
};
感謝
我在寫下這個問題時想到了它,但它感覺錯了(美觀)。上面的答案有一個更好的方法。 – elad
@elad,這取決於你。我討厭不得不用類名前綴所有內部類的成員,我認爲,這是一個有效的繼承案例。你可能會有不同的美學觀點。 – SergeyA