第十天之異常的層次結構 繼承在異常中的應用

2021-09-29 23:12:44 字數 1966 閱讀 4042

案例:設計乙個陣列類 myarray,過載操作,

陣列初始化時,對陣列的個數進行有效檢查

1) index<0 丟擲異常 enegative

2) index = 0 丟擲異常 ezero

3)index>1000 丟擲異常 etoobig

4)index<10 丟擲異常 etoosmall

5)esize 類是以上類的父類,實現有引數構造、並定義 virtual void printerr()輸出錯誤。

#include

using

namespace std;

/*陣列初始化時,對陣列的個數進行有效檢查

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 =

newint

[len];}

int& myarray::

operator

(int index)

int myarray::

getlen()

myarray::

~myarray()

}void

main()

}catch

(myarray::esize &e)

catch(.

..) cout << endl;

system

("pause");

}//不推薦的使用方法

十天學會php之第十天

學習目的 學會用php上傳檔案和發郵件 上傳檔案表單必須加上 enctype multipart form data 和 下面看一下 dest dir uploads 設定上傳目錄 dest dest dir.date ymd f name 我這裡設定檔名為日期加上檔名避免重複 r move upl...

十天學會php之第十天

學習目的 學會用php上傳檔案和發郵件 上傳檔案表單必須加上 enctype multipart form data 和 下面看一下 f http post files file dest dir uploads 設定上傳目錄 dest dest dir.date ymd f name 我這裡設定檔...

十天學會php之第十天

學習目的 學會用php上傳檔案和發郵件 上傳檔案表單必須加上 enctype multipart form data 和 下面看一下 dest dir uploads 設定上傳目錄 dest dest dir.date ymd f name 我這裡設定檔名為日期加上檔名避免重複 r move upl...