C++模板栈实现与异常处理 #include iostream #define MAX 7 using namespace std; template typename T class Stack { T top;//栈顶 T data[MAX];// public: Stack():top(-1),data{0}{} void stackpush(T s); void stackpop(); bool empty(); bool full(); void show(); }; template typename T bool StackT::empty() { return top-1?1:0; } template typename T bool StackT::full() { return topMAX-1?1:0; } template typename T void StackT::stackpush(T s) { if(full()) { cout 满栈 endl; return; } this-top; data[top]s; cout data[top] 入栈 endl; return; } template typename T void StackT::show() { if(empty()) { cout 空栈 endl; return; } for(int itop;i0;i--) { cout data[i] ; } cout endl; } template typename T void StackT::stackpop() { this-top--; cout data[top] 出栈 endl; } int main() { Stack ints; s.show(); s.stackpush(10); s.stackpush(9); s.stackpush(8); s.stackpush(7); s.stackpush(6); s.stackpush(5); s.stackpush(4); s.stackpush(3); s.stackpop(); s.stackpop(); s.stackpop(); s.stackpop(); s.show(); return 0; }#include iostream using namespace std; template typename T,typename T1 T fun(T a,T1 b) { if(b0) { throw int(0); } if(b10) { throw int(10); } if(sizeof(b)!4) { throw double(1); } return a/b; } int main() { try { // fun(88,0); // fun(55,10); funint,double(99,99.9); } catch (int re) { if(re0) cout b0异常 endl; if(re10) cout b10异常 endl; } catch (double) { cout b1异常 endl; } cout Hello World! endl; return 0; }
💡
读完这篇文章,你可以带走什么

本文来自编程新知一线开发与建站实战沉淀:讲清原理、给出可复现步骤、标注避坑要点。看完后可以直接在你的项目或网站中落地验证。

编
编程新知内容团队
一线开发 · 建站实施 · 持续更新
由资深前端工程师、后端架构师与建站实施人员共同维护,坚持"真实案例 + 完整步骤 + 避坑指南"的内容准则。如果你在落地中遇到问题,欢迎联系我们交流。

想把这套方案用到自己的项目上?

编程新知提供技术答疑与网站建设一站式服务,欢迎联系我们获取针对性建议。

联系工程师
📚

系统学习该技术

进入对应栏目,从基础到进阶完整学习,配套案例与避坑指南。

前往栏目 →
🏗️

需要落地实施

企业建站、SEO 优化、服务器部署等需求,交给工程师一步到位。

了解服务 →
💬

还有疑问

技术难题或方案咨询,联系编程新知获取一对一的专业建议。

联系我们 →