我有一個類characterData
一個構造函數:將對象重置爲默認值;回憶構造函數?
class characterData() {
private:
int position[2];
vector<vector<int> > pixelData;
int num;
public:
characterData() {
num = -1;
}
void setValues(int p[2], vector<vector<int> > v, int n) {
position[0] = p[0];
position[1] = p[1];
pixelData = v;
num = n; // if setValues() is called, n will always > -1
}
};
我這樣做,所以我可以在我的代碼「空」 characterData
。我的思考過程是如果num == -1
,setValues()
尚未在characterData
對象上調用。
後來在我的代碼中,我有一個characterData k
,它只被初始化,setValues()
還沒有被調用,因此k.num == -1
。
最終我更改了k
的值,但希望將其重置爲其原始形式。
characterData k;
// some assignments happen, k = something else
k = new characterData(); // reset k
上述不起作用。我需要重置k
這樣k.num == -1
。沒有成員setter/mutator函數可以讓我根本改變num
:我的想法是回想構造函數,但這不起作用。
如何將k
重置爲「空」狀態?
如果他們用'n == -1'調用'setValues'會怎麼樣? –
@ M.M'n'來源於'list'的大小。正如問題所述,'n'不會低於0。 – gator