C++带异常处理的CharStack
来源:互联网 发布:世强软件万能五笔 编辑:程序博客网 时间:2024/05/15 19:43
头文件:CharStack.h
#pragma once#include<string>#include<exception>class CharStack{private:char *elementData;int capacity;int top;public:CharStack(int capacity);~CharStack(void);int Size();bool IsEmpty();void Push(char c);char Pop();char Peek();void Clear();class CharStack_error : public std::runtime_error {public:CharStack_error(const std::string &str) : std::runtime_error(str){}};};cpp文件:CharStack.cpp
#include "CharStack.h"CharStack::CharStack(int capacity){ if(capacity<1) throw CharStack_error("capacity is less than 1"); this->capacity = capacity; this->elementData = new char[capacity]; this->top = -1;}CharStack::~CharStack(void){}int CharStack::Size() { return top + 1;}bool CharStack::IsEmpty() { return top == -1;}void CharStack::Push(char c) { if(top==capacity-1) throw CharStack_error("Stack is Full"); elementData[++top] = c;}char CharStack::Pop() { if(IsEmpty()) throw CharStack_error("Stack is Empty"); return elementData[top--];}char CharStack::Peek() { if(IsEmpty()) throw CharStack_error("Stack is Empty"); return elementData[top];}void CharStack::Clear() { top = -1;}测试代码:
#include"CharStack.h"#include<iostream>int main() {try{CharStack stack(2);//stack.Push('a');//stack.Push('b');//stack.Push('c');std::cout << stack.Pop();}catch(const CharStack::CharStack_error &e) {std::cerr << e.what() << std::endl;}}
0 0
- C++带异常处理的CharStack
- C语言的异常处理
- C语言的异常处理
- C语言的异常处理
- c的异常处理学习
- C++&Qt的异常处理
- 异常处理(二、C语言的异常处理)
- servlet自带的异常处理和springmvc的异常处理
- 标准程序库中带异常处理的栈实现
- C/C++异常处理的对比
- object-c的异常处理机制
- 神奇的C语言五:异常处理
- c/c++的异常统一处理
- object-c的异常处理机制
- object-c的异常处理机制
- 【C++】异常处理的简单应用。
- object-c的异常处理机制
- linux C 异常处理的方式
- VS2010 WDK7.60 配置驱动开发环境(DDK驱动开发 WDK驱动开发)
- 172. Factorial Trailing Zeroes
- solr lucence局部更新
- Binary Tree Upside Down
- PHP 数据库访问问题集锦
- C++带异常处理的CharStack
- leetCode_Gas Station
- Java调用C++动态链接库dll,有详细过程。VS2015+Eclipse以及失败解决方案
- inline内联函数(声明前加inline还是定义前加inline)
- [leetcode] 361. Bomb Enemy 解题报告
- about macros fs_initcall and module_init
- Windows7配置驱动开发环境(使用WDK)
- NOI2014补全+解题报告
- java对象转solrinputdocument