11例項陣列異常的檢測 判斷陣列的個數 類中包含類

2021-09-19 15:25:15 字數 1465 閱讀 9117

#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 陣列的...