
如何把下列c++语言转换成c语言: 急用~~~~~~!!!!!!!!!!
constintStackSize=64;//10只是示例性的数据,可以根据实际问题具体定义template<classT>//定义模板类SeqStackclassSeq...
const int StackSize=64; //10只是示例性的数据,可以根据实际问题具体定义
template <class T> //定义模板类SeqStackclass SeqStack
{
public:
SeqStack(); //构造函数,栈的初始化
~SeqStack(){} //析构函数
void Push(T x); //将元素x入栈
T GetTop();
T Pop(); //将栈顶元素弹出
int Empty(); //判断栈是否为空
void Print(); //输出栈中元素
private:
T data[StackSize]; //存放栈元素的数组
int top; //栈顶指针,指示栈顶元素在数组中的下标
};
template <class T>
SeqStack<T>::SeqStack()
{
top=-1;
}
template <class T>
void SeqStack<T>::Push(T x)
{
if (top==StackSize-1) throw "上溢";
top++;
data[top]=x;
}
template <class T>T SeqStack<T>::Pop( )
{
T x;
if (top==-1) throw "下溢";
x=data[top--];
return x;
}
template <class T>
T SeqStack<T>::GetTop()
{
if(top!=-1) return data[top];
}
template <class T> int SeqStack<T>::Empty( )
{
if(top==-1) return 1;
else return 0;
}
template <class T>
void SeqStack<T>::Print()
{
while(top!=-1)
{
T temp;
temp=Pop();
cout<<temp.x<<'\t'<<temp.y<<'\t'<<temp.d<<'\n';
}
} 展开
template <class T> //定义模板类SeqStackclass SeqStack
{
public:
SeqStack(); //构造函数,栈的初始化
~SeqStack(){} //析构函数
void Push(T x); //将元素x入栈
T GetTop();
T Pop(); //将栈顶元素弹出
int Empty(); //判断栈是否为空
void Print(); //输出栈中元素
private:
T data[StackSize]; //存放栈元素的数组
int top; //栈顶指针,指示栈顶元素在数组中的下标
};
template <class T>
SeqStack<T>::SeqStack()
{
top=-1;
}
template <class T>
void SeqStack<T>::Push(T x)
{
if (top==StackSize-1) throw "上溢";
top++;
data[top]=x;
}
template <class T>T SeqStack<T>::Pop( )
{
T x;
if (top==-1) throw "下溢";
x=data[top--];
return x;
}
template <class T>
T SeqStack<T>::GetTop()
{
if(top!=-1) return data[top];
}
template <class T> int SeqStack<T>::Empty( )
{
if(top==-1) return 1;
else return 0;
}
template <class T>
void SeqStack<T>::Print()
{
while(top!=-1)
{
T temp;
temp=Pop();
cout<<temp.x<<'\t'<<temp.y<<'\t'<<temp.d<<'\n';
}
} 展开
2013-01-07
展开全部
说不能改是胡说的,任何高级语言写出来的代码都可以用c实现,只是复杂程度不一样。大家不爱动手而已。才10分。
思路是这样的:
1.c++的类可以换成c的结构体,同时提供一个与结构体对应的句柄
2.类的成员方法可以换成c的普通函数,以句柄代替this指针,windows api就是这样做的。
3.关于简单的泛型,可以使用宏来模拟,这也就是泛型最初的来历。你目前只是表示了一个元素类型,可以直接用void* 类型的存储,配上一个size来保存各种类型的元素。
思路是这样的:
1.c++的类可以换成c的结构体,同时提供一个与结构体对应的句柄
2.类的成员方法可以换成c的普通函数,以句柄代替this指针,windows api就是这样做的。
3.关于简单的泛型,可以使用宏来模拟,这也就是泛型最初的来历。你目前只是表示了一个元素类型,可以直接用void* 类型的存储,配上一个size来保存各种类型的元素。
展开全部
不可以改, C语言中没有类的概念.
你可能不是需要改这个类, 而是要改使用这个类的地方
你可能不是需要改这个类, 而是要改使用这个类的地方
更多追问追答
追问
那又要怎样去该使用这个类的地方?
追答
这个我回答不了, 因为不知道调用的地方都做了些什么.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C是面向过程的,C++是面向对象的,是完全不同的思想,不能转的。只能说用哪种语言去解决问题!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想知道你想要执行什么功能,才需要把它变成C的代码?
更多追问追答
追问
设计迷宫问题:要求是
(1) 设计数据结构存储迷宫;
(2) 设计存储结构保存从入口到出口的通路;
(3) 设计算法完成迷宫问题的求解;
(4) 分析算法的时间复杂度。
追答
这完全可以用C++来实现啊,难道你们公司的原有模块不支持C++,不会吧。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询