VC++类模板
请详细解释下面程序的过程还有作用template<classT>classStackT*data;inttop;intsize;intIsEmpty(){return(t...
请详细解释下面程序的过程还有作用
template<class T>
class Stack
T* data;
int top;
int size;
int IsEmpty()
{
return (top<0)?1:0;
}
int IsFull()
{
return (top==size)?1:0
public:
stack (int n)
{
data=new T[n];
size=n;
top=0;
}
~stack()
{
delete[] data;
}
void push (T a);
T pop();
}; 展开
template<class T>
class Stack
T* data;
int top;
int size;
int IsEmpty()
{
return (top<0)?1:0;
}
int IsFull()
{
return (top==size)?1:0
public:
stack (int n)
{
data=new T[n];
size=n;
top=0;
}
~stack()
{
delete[] data;
}
void push (T a);
T pop();
}; 展开
1个回答
展开全部
你要怎么个详细法呢?先把,所有的T都替换成float再说,那么估计就很简单了吧。
emplate<class float> // 这是栈的定义
class Stack
float* data; // 数据指针
int top; // 栈顶指针
int size; // 栈的深度
int IsEmpty() // 是否为空?
{
return (top<0)?1:0;
}
int IsFull() // 是否满?
{
return (top==size)?1:0; // 这似乎需要分号与下花括弧
}
public:
Stack (int n) // 构造函数,设定栈的深度为n,需要与类名一致,s要大写
{
data=new float[n];
size=n;
top=0;
}
~stack()
{
delete[] data; // 析构函数,释放内存
}
void push (float a); // 压入一个数据
float pop(); // 弹出一个数据
};
emplate<class float> // 这是栈的定义
class Stack
float* data; // 数据指针
int top; // 栈顶指针
int size; // 栈的深度
int IsEmpty() // 是否为空?
{
return (top<0)?1:0;
}
int IsFull() // 是否满?
{
return (top==size)?1:0; // 这似乎需要分号与下花括弧
}
public:
Stack (int n) // 构造函数,设定栈的深度为n,需要与类名一致,s要大写
{
data=new float[n];
size=n;
top=0;
}
~stack()
{
delete[] data; // 析构函数,释放内存
}
void push (float a); // 压入一个数据
float pop(); // 弹出一个数据
};
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询