异常3
来源:互联网 发布:网站空间域名续费 编辑:程序博客网 时间:2024/06/16 03:54
#ifndef STACK_H#define STACK_H#include <deque> // 保存堆栈里的数据,#include <exception> // 标准异常,template <class T>class Stack{protected:std::deque<T> c;public:class ReadEmptyStack:public std::exception // 自己创建一个异常,{public:virtual const char *what() const throw(){ return "read empty stack 堆栈是空的";}};bool empty() const{ return c.empty();}void push (const T &elem){ c.push_back (elem);} T pop(){ if(c.empty()) { throw ReadEmptyStack(); // 抛出异常, } T elem(c.back()); c.pop_back(); return elem;}T &top(){ if(c.empty()) { throw ReadEmptyStack(); } return c.back;}};#endif
#include <iostream>#include "Stack.h"using namespace std;int main (){try{ Stack<int> st; st.push(1); st.push(2); st.push(3); cout << st.pop() << endl; // 输出的3。 cout << st.pop() << endl; // 输出的2 cout << st.top() << endl; // 输出的1, cout << st.pop() << endl; // 输出的1, cout << st.top() << endl; // 出错,}catch (const exception &e){cerr << "发生异常:" << e.what() << endl;} cout << "Hello Stack" << endl;return 0;}
0 0
- 异常3
- 异常3
- 3、JavaSE 异常(异常)(异常覆盖)(自定义异常)
- 读书笔记--异常处理(3)
- 异常处理3
- 异常处理3
- 3--java异常处理
- Python2/3 中的异常
- 3中断和异常
- java异常处理3
- C++异常(3)
- Java(3)--异常处理
- #500-3 异常
- 捕捉异常(3)
- lua5.3异常机制
- hadoop2.3异常问题
- 异常和断言3
- 异常
- 设置UITbaBar和UIBarButtonItem的图片有蓝色图层覆盖
- Java-Map测试-学生选课
- ORACLE impdp / expdp 导入导出数据
- subline text使用技巧
- Centos 7 安装Nginx
- 异常3
- UVA 11107(后缀数组)
- 静态和动态函数库设计
- 自定义TabBar
- Swift笔记 使用SwiftData和sqlite的环境设置
- android audio 音量设置分析
- 解决Android Studio Fetching Android SDK component information失败问题
- android audio分析
- 【数据结构与算法】二 数组反转 reverse