我有我的代碼中定義的複製構造函數正在初始化正在創建的對象的數據成員。 現在,如果我不得不改變幾個變量的值,我正在寫一個新的副本。 所以我的問題是,而不是再次編寫相同的代碼,我可以只初始化特定的不同數據成員和其他人,我可以在我的ctor方法中調用定義的一個ctor。調用複製ctor和另一個ctor
例如: 已經存在
A::A(const A& cpy)
{
a=cpy.a;
b=cpy.b;
c=cpy.c
}
現在我想寫我的構造函數作爲
A::A(const A& cpy, bool x)
{
if(x)
a=something;
else
a =cpy.a
//call first ctor for other variables (b and c)
}
感謝 魯奇
爲什麼不使用'init(a,b,c)'函數? – 2012-07-27 09:51:49
這段代碼絕對不是合法的C++。 – 2012-07-27 09:57:18