找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
尊貴會員無限看帖不用回覆你準備好成為出色的版主了嗎?安全提問(回答) 和 永久尊貴會員 事宜
無碼流出鬼父人妖名偵探柯幼女mg按摩
無盡連鎖一拳fsdss 09霹靂布袋rpg霹靂布袋天賦

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]關於我轉生變成史

[繁]關於我轉生變成史

[簡]單人房、日照一般

[繁]海賊王 航海王 11

[簡]假面騎士GOTCHARD

(4月新番)[繁]怪獸八
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 1439|回復: 0
打印上一主題下一主題

[問題]關於樣板的問題[複製鏈接]

Rank: 1

帖子
300
積分
193 點
潛水值
11150 米
跳轉到指定樓層
樓主
發表於 2014-5-15 11:31 PM|只看該作者|倒序瀏覽
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
本帖最後由 andrew33673367 於 2014-5-16 01:16 AM 編輯

這是我用樣板做的一個練習(輸入陣列排序後再輸出出來)我用devC++跑到一辦電腦就說運作終止,請問問題出在哪??

  1. #include <iostream>
  2. using namespace std;

  3. template<class T1> class Test;
  4. template<class T1>
  5. class Test{
  6.         public:
  7.                 Test(int=0);
  8.                 void input();
  9.                 void output();
  10.                 void sort();
  11.         private:
  12.                 T1 *array;
  13.                 int index;
  14. };
  15. template<class T1>Test<T1>::Test(int a):index(a){
  16.         cout<<"construct complete....."<<"\n";
  17.         array=new T1[index];
  18. }
  19. template<class T1>void Test<T1>::input(){
  20.         for(int i=0;i<index;i++){
  21.                 cout<<"please type array["<<i<<"]:";
  22.                 cin>>*(array+i);
  23.                 cout<<"\n";
  24.         }
  25. }
  26. template<class T1>void Test<T1>::output(){
  27.         for(int i=0;i<index;i++){
  28.                 cout<<"your array["<<i<<"]:"<<*(array+i)<<"\n";
  29.         }
  30. }
  31. template<class T1>void Test<T1>::sort(){
  32.         cout<<"sort function open success\n"<<"sort running.....\n";
  33.         int k=index-1,p,j;
  34.         while(k!=0){
  35.                 p=0;
  36.                 for(int i=0;i<=k-1;i++){
  37.                         if(*(array+i)>*(array+i+1)){
  38.                                 T1 swap=*(array+i);*(array+i)=*(array+i+1);*(array+i+1)=swap;
  39.                                 p=i;
  40.                         }
  41.                 }
  42.                 k=p;
  43.         }
  44. }


  45. int main(){
  46.         int a;
  47.         cout<<"please type index:";
  48.         cin>>a;cout<<"\n";
  49.         Test<int> A(a); //小心別寫成Test<T1>
  50.         A.input();
  51.         A.sort();
  52.         A.output();
  53. }
複製代碼

...
瀏覽完整內容,請先 註冊登入會員

點評

andrew33673367 哈哈 抱歉小弟我手殘 謝大大!  發表於 2014-5-18 12:55 AM
snowflying snow 打成 show 這個問題比較嚴重喔!  發表於 2014-5-16 04:50 PM
andrew33673367 以上為正確版本 謝謝showflying大大指教  發表於 2014-5-16 01:14 AM
andrew33673367 喔....好像出來了  發表於 2014-5-16 01:13 AM
andrew33673367 已修改部分問題,但在保留資訊的情況下我不知到要如何用new在array上?  發表於 2014-5-16 01:04 AM
snowflying p , j 看不出來用途  發表於 2014-5-16 12:56 AM
snowflying k = index-1 , i<k-1 ,所以最後一項會有問題,k = index 就行了  發表於 2014-5-16 12:55 AM
snowflying 然後 sort 裡面的 k 一直沒變,會死在迴圈  發表於 2014-5-16 12:51 AM
snowflying 你的 array 有 new 嗎?  發表於 2014-5-16 12:46 AM
分享分享0收藏收藏0支持支持0
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部