亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C++數據結構(鏈棧) 檢查了好多遍,不明白錯在哪

C++數據結構(鏈棧) 檢查了好多遍,不明白錯在哪

C++
愛3 2015-10-24 19:03:43
頭文件LinkStack.h #ifndef?LINKSTACK_H //如果沒有定義該?頭文件,就執行以下的(define),否則就直接endif(避免二次調用 #define?LINKSTACK_H template<class?DataType>????????//模板類 class?LinkStack?????????????????//鏈棧定義 { public: LinkStack();?????????????????????????????//構造函數 ~LinkStack();???????????????//析構函數 void?Push(DataType?x);???????????????????//入棧,增加 DataType?Pop();?????????????//出棧,刪除 DataType?GetTop();??????????????????????//取棧頂元素,不刪除 int?Empty();????????????????//判空 private: Node<DataType>?*top?????????//棧頂指針 }; #endif 源文件LinkStack.cpp #include<iostream> using?namespace?std; #include?"LinkStack.h"?????????????????????????????//包含頭文件 template<class?DataType> LinkStack<DataType>::LinkStack()??????????????????// { top=NULL;?????????????????????????????????????//棧頂指針初始化為空 } template<class?DataType> LinkStack<DataType>::~LinkStack()?????????????????//析構函數 { } template<class?DataType> void?LinkStack<DataType>::Push(DataType?x) { s=new?Node;???s->data=x; ?//申請一個數據域為x的節點s,next指向 s->next=top;??top=s; ?//將節點s插在棧頂 } template<class?DataType> DataType?LinkStack<DataType>::Pop() ????? { if(top==NULL)?throw?"下溢";?????????????????// x=top->data;?p=top; top=top->next; delete?p; return?x; } template<class?DataType> DataType?GetTop() { if(top!=?NULL)??????????????????????????????//不刪除 return?top->data; } template<class?DataType> int?Empty() { top==NULL???return?1:return?0; } 主函數文件LinkStackMain.cpp #include<iostream> using?namespace?std; #include"LinkStack.cpp" void?main() { LinkStack<int>?L;???????????????????????????//實例化類對象 if(L.Empty()==1) //判空 cout<<"棧為空"<<endl; else?cout<<"棧為非空"<<endl; L.Push(2);?????????????????????????????????//依次入棧 L.Push(3); cout<<"棧頂元素為:"<<L.GetTop()<<endl;????//取棧頂元素 //cout<<"出棧:"<<L.Pop()<<endl;??? cout<<"出棧:"<<endl; L.Pop(); cout<<"棧頂元素為:"<<L.GetTop()<<endl;????//出棧一次,棧頂元素改變 system("pause"); }
查看完整描述

1 回答

?
onemoo

TA貢獻883條經驗 獲得超454個贊

出了錯誤先看報的是什么錯! 說說報錯是什么?

目測就有幾個問題:

  • LinkStackMain.cpp中你include了LinkStack.cpp文件,這直接就會引起重定義錯誤。永遠不要include包含實現的.cpp文件!

  • 我沒看到Node類型的定義

查看完整回答
反對 回復 2015-10-25
  • 1 回答
  • 0 關注
  • 1648 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號