我在構建一個確保用戶不訪問數組末尾的元素的類時遇到了問題,方法是構建模仿數組行爲的類,但添加了一個檢查。也就是說,這個類將創建一個給定類型的元素序列,並允許使用[]括號運算符訪問這些元素,但它會檢查以確保用戶不會嘗試對某個元素執行某些操作不存在。自定義索引運算符C++
以下是關於構建它的說明。
我不知道如何使這種情況下的索引操作符。請幫幫我。謝謝!
這裏是我的3個文件,我有那麼遠,
dvd.h
class dvdArray{
dvd *elt;
int size;
static int defaultSieze;
int getSize();
void display();
dvdArray(unsigned int sz);
dvdArray();
dvdArray(dvdArray &obj);
~dvdArray();
};
dvd.cpp
dvd::dvd(){
id =0;
int n=5;
title = new char [n];
director = new char [n];
title[0] = '\0';
director[0] = '\0';
}
dvd::~dvd(void)
{
}
dvdArray::dvdArray(unsigned int sz){
elt = new dvd[sz];
}
dvdArray::dvdArray(){
size = defaultSieze;
elt = new dvd[defaultSieze];
}
dvdArray::dvdArray(dvdArray &obj){
size = obj.size;
elt = new dvd[defaultSieze];
for (int i=0; i!='\0'; ++i) {
elt[i]=obj.elt[i];
}
}
dvdArray::~dvdArray(void)
{
}
請參閱[這個答案](http://stackoverflow.com/questions/4421706/operator-overloading)。 – Emmet
確保您始終在您的構造函數中設置成員'大小'。然後檢查索引。 – dan