如果输入参数采用“指针传递”,那么加 const 修饰可以防止意外地改动该指针,起 到保护作用
2024-10-19 04:22:00
如果输入参数采用“指针传递”,那么加 const 修饰可以防止意外地改动该指针,起 到保护作用。
#include <iostream> /* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
//定义栈的尺寸
const int SIZE = ; //定义处理栈的类模板接口
template <class T> class stack {
T stck[SIZE];
int tos;
public:
stack(void) {
tos = ;
cout << "Stack Initialized." << endl;
}
~stack(void) {
cout << "Stack Destroyed." << endl;
}
void push(T);
T pop(void);
}; //定义栈的成员函数
template <class T> void stack<T>::push(T i)
{
if(tos==SIZE)
{
cout << "Stack is full." << endl;
return;
}
stck[tos++] = i;
}
template <class T> T stack<T>::pop(void)
{
if(tos==)
{
cout << "Stack underflow." << endl;
return ;
}
return stck[--tos];
} //main()函数中测试stack类模板 int main(int argc, char** argv) {
//处理int类型数据的栈
cout<<"stack<int> a :"<<endl;
stack<int> a;
a.push();
a.push();
cout << a.pop() << " ";
cout << a.pop() << endl; //处理double类型数据的栈
cout<<"stack<double> b :"<<endl;
stack<double> b;
b.push(99.3);
b.push(-12.23);
cout << b.pop() << " ";
cout << b.pop() <<endl; //处理char类型数据的栈
cout<<"stack<char> c :"<<endl;
stack<char> c;
for(int i=; i<; i++)
c.push((char) 'A' + i);
for(int i=; i<; i++)
cout <<c.pop();
cout << endl;
return ;
}
最新文章
- js立即调用的函数表达式
- hdu - 4608 - I-number
- 【wikioi】1191 数轴染色(线段树+水题)
- 在WPF中显示GIF图片并实现循环播放
- Android 中像素px和dp的转化
- firefox 自定义快捷键
- Unable to locate the Javac Compiler 解决办法
- Zookeeper 1、Zookeeper 定义与工作原理
- ubuntu14.04下手动安装JDK + eclipse + Pydev
- CF 327D - Block Tower 数学题 DFS 初看很难,想通了就感觉很简单
- Swift学习(1)
- Python学习之条件判断和循环
- 前端部署ant+yuicompressor文件压缩+获取版本+SSH公布(部分代码)
- laravel 开启定时任务需要操作
- 关于vim的常用操作
- 同时安装 Python 2 与Python 3 的方法及pip模块的下载安装
- SVN chechout 错误: xxx is not valid as filename in directory
- Socket的长连接和短连接
- iOS - 开源框架、项目和学习资料汇总(其他篇)
- for-in循环