#include using namespace std;
/*案例:設計乙個陣列類 myarray,過載操作,
陣列初始化時,對陣列的個數進行有效檢查
1) index<0 丟擲異常enegative
2) index = 0 丟擲異常 ezero
3)index>1000丟擲異常etoobig
4)index<10 丟擲異常etoosmall
5)esize類是以上類的父類,實現有引數構造、並定義virtual void printerr()輸出錯誤。
*/class myarray//類中包含子類
virtual void printerr()
protected:
int m_size;
}; class enegative : public esize
virtual void printerr()
};class ezero : public esize
virtual void printerr()
};class etoobig : public esize
virtual void printerr()
};class etoosmall : public esize
virtual void printerr()
};private:
int *m_space;
int m_len;
};myarray::myarray(int len)
else if (len == 0)
else if (len > 1000)
else if (len < 3)
m_len = len;
m_space = new int[len];
}myarray::~myarray()
}int & myarray::operator(int index)
int myarray::getlen()
// 不推薦,父類的異常list出來
void main()
} catch (myarray::enegative e)
catch (myarray::ezero e)
catch (myarray::etoobig e)
catch (myarray::etoosmall e)
catch (...)
cout << "hello..." << endl;
system("pause");
return;}/*
---------------------------------------------
enegative 型別異常
hello...
請按任意鍵繼續. . .
---------------------------------------------
*/
資料結構與演算法例項 陣列實現
陣列是一種最簡單的資料結構,它佔據一塊連續的記憶體並且順序儲存資料,所以我們需要首先指定陣列的大小 陣列的空間效率不是很好,會有空閒的區域沒有得到充分的應用 時間複雜度為o 1 陣列一旦被定義,它的維度和維界就不會再改變,因此除了結構的初始化和銷毀之外,陣列就只有訪問和修改元素值得操作 建造空間並進...
例項011陣列的陣列
陣列的陣列是指數組元素也是陣列變數。所胃陣列的陣列,是指在乙個陣列中存放幾個子陣列,也就是說,陣列的元素也是乙個陣列。陣列的陣列與多維陣列的區別是,多維陣列等價於乙個矩陣,而陣列的陣列的元素個數並不規則。宣告陣列的陣列採用如下形式 dim yeardays as integer 可以在宣告時為該陣列...
陣列的更新檢測
vue 將被偵聽的陣列的變更方法進行了包裹,所以它們也將會觸發檢視更新。這些被包裹過的方法包括 push 陣列的後面插入元素 pop 從陣列的後面刪除乙個元素 shift 從陣列的前面刪除乙個元素 unshift 從陣列的前面插入乙個元素 splice 陣列的剪貼 插入 刪除等操作 sort 陣列的...