freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

c電子課件(下)第十章-展示頁

2024-10-25 15:50本頁面
  

【正文】 的成員函數(shù)才聲明為對象,不用類 。 return 1。 catch子句異常聲明探討: 異常聲明中可以是一個對象聲明。 新的私有數(shù)據(jù)成員 _value保存那些 不能被壓入棧中的值 。} T value(){return _value。data)中的參數(shù) data template typename Tclass pushOnFull{ T _value。 棧展開與異常捕獲 對應在 throw表達式中,構造拋出對象也要有實參: throw pushOnFull(data)。而不包含返回語句,則執(zhí)行 catch列表之后的下一條語句。 catch子句可以包含返回語句( return),也可不包含返回語句。 ?catch子句的使用:它只有一個子句,沒有定義和調用之分。 流程控制規(guī)則: 棧展開與異常捕獲 catch子句由三部分組成:關鍵字 catch、圓括號中的 異常聲明 以及復合語句中的 一組語句 。 4. 當某條語句拋出異常時,跟在該語句后面的語句將被跳過。()不再執(zhí)行 , 被忽略 。 異常處理的機制 1. 如果沒有異常發(fā)生 , 繼續(xù)執(zhí)行 try塊中的代碼 , 與 try塊相關聯(lián)的 catch子句被忽略 , 程序正常執(zhí)行 , main()返回 0。在上例中,我們可以把兩個 try塊合成一個,而把兩個 catch子句都放在函數(shù)最后。注意與 catch語句分別 匹配 的是在壓棧和出棧成員函數(shù)模板中的 throw語句,一個拋出 pushOnFull類的無名對象,另一個拋出popOnEmpty類的無名對象。 return 0。i++) coutb[i]’\t’。} for(i=0。i++){b[i]=()。} try{ for(i=0。 ()。i9。 stackintistack(8)。當然也可以是包含了這樣的調用語句,該語句所調用的函數(shù)中有能夠拋出異常的語句 。 在 C++中異常拋出與異常處理之間有一整套程序設計的機制。 異常并非總是類對象 , throw表達式也可以拋出任何類型的對象,如枚舉、整數(shù)等等。 //棧滿異常 異常處理的機制 throw表達式 拋出異常 為異常處理的 第一步 。 異常與異常拋出: 以棧為例,異常類聲明如下 : template typename Tclass popOnEmpty{...}。 return elements[top]。 //注意加了括號 ,是構造一個無名對象 elements[++top]=data。 template typename Tvoid StackT::Push(const Tamp。 由程序某一部分引發(fā)了另一部分的異常,這一異??苫氐揭甬惓5牟糠秩ヌ幚恚嬷绦虻暮瘮?shù)調用鏈) 。 異常的概念 C++提供了一些內置的語言特性來產生 (raise)或拋出 (throw)異常,用以通知“異常已經發(fā)生”,然后由預先安排的程序段來捕獲 (catch)異常,并對它進行處理。可以預見可能發(fā)生在什么地方,但是無法確知怎樣發(fā)生和何時發(fā)生。 面向對象的異常處理( exception handling)機制是 C++語言用以解決這個問題的有力工具。第十章 異常處理 大型和十分復雜的程序往往會產生一些很難查找的甚至是無法避免的運行時錯誤。 當發(fā)生運行時錯誤時,不能簡單地結束程序運行,而是退回到任務的起點,指出錯誤,并由用戶決定下一步工作 。 第十章 異常處理 異常的概念 棧展開與 異常 捕獲 異常處理的機制 C++標準庫異常類 層次結構 (選讀) (選讀) 異常的重新拋出 和 catch_all子句 異常的概念 異常概念的引入: 異常( exception)是程序可能檢測到的,運行時不正常的情況 ,如存儲空間耗盡、數(shù)組越界、被 0除等等。特別在一個大型的程序(軟件)中,程序各部分是由不同的小組編寫的,它們由公共接口連起來,錯誤可能就發(fā)生在相互的配合上,也可能發(fā)生在事先根本想不到的個別的條件組合上。這種機制可以在 C++程序的兩個無關(往往是獨立開發(fā))的部分進行“異?!蓖ㄐ?。 異常處理的機制 測到棧滿或空就 拋出異常 。data){ if(IsFull()) throw pushOnFullT(data)。 } templatetypename TT StackT::Pop(){ if(IsEmpty()) throw popOnEmptyT()。 } 注意 pushOnFull和 popOnEmpty是 類 , C++要求拋出的必須是對象 ,所以必須有“ ()”,即 調用構造函數(shù)建立一個對象 。 //??债惓? template typename Tclass pushOnFull{...}。 在堆棧的壓棧和出棧操作中發(fā)生錯誤而拋出的異常,理所當然地應由調用堆棧的程序來處理。但最常用的是類對象。首先采用關鍵字 try,構成一個 try塊 (try block),它包含了 拋出異常 的語句。 異常處理機制: 異常處理的機制 int main(){ int a[9]={1,2,3,4,5,6,7,8,9},b[9]={0},i。 try{ for(i=0。i++) (a[i])。 } catch(pushOnFullint){cerr”棧滿” endl。i9。} } catch(popOnEmptyint){cerr”棧空” endl。i9。 coutendl。 } try塊與 catch子句的關系實例: 異常處理的機制 由 catch字句捕獲并處理異常是 第二步 。 在編制程序時有一條 慣例 :把正常執(zhí)行的程序與異常處理兩部分分隔開來,這樣使代碼更易于跟隨和維護。 說明: 這里有兩個 try塊,分別對應壓棧與出棧;也有兩個 catch子句 ( catch clause),分別處理壓棧時的棧滿和出棧時的???。 2. 當?shù)谝粋€ try塊在 for循環(huán)中拋出異常 , 則該 for循環(huán)退出 ,try塊也退出 , 去執(zhí)行可處理 pushOnFull異常的 catch子句 。 3. 如果第二個 try塊調用 Pop()拋出異常 , 則退出 for和
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1