這裡需要注意的乙個問題是當使用類模板時,類中方法的宣告和定義需放到.**件中,不能分開放到.**件和.cpp檔案中,否則執行時會出現無法解析外部命令的錯誤!
還有一點就是,當遇到「無法解析外部命令」時,應及時檢查類中宣告的方法是否在.**件和.cpp檔案中有定義,再去找其它原因!
下面是**及測試結果截圖:
sqlist.**件
#pragma once
#include "iostream"
#include "stdlib.h"
using namespace std;
templatestruct datatype
;templateclass sqlist
;templatesqlist::sqlist(int num)
//帶初始值的初始化線性表
templatesqlist::sqlist(int num, t elem)
cout << "初始化完成!" << endl;
}//未給出陣列長度的初始化
templatesqlist::sqlist(t* elem)
} else
throw 1;
} catch(int) }
//析構函式
templatesqlist::~sqlist()
//表長
templateint sqlist::lengthsqlist()
//判斷空表
templateint sqlist::emptysqlist()
else
return 0;
}//增
templatevoid sqlist::insertsqlist(int i, t elem)
else
cout << "已完成在" << i << "位置新增元素" << elem << endl;
} }catch(int) }
templatevoid sqlist::insertsqlist1(t elem)
} catch(int) }
//刪templatevoid sqlist::deletesqlist(int i)
} catch(int) }
templatevoid sqlist::deletesqlist1(t elem)
} if (num == 0)
throw 1;
else
}} catch(int) }
//查templatevoid sqlist::getelemsqlist(int i)
catch(int) }
templatevoid sqlist::locatesqlist(t elem)
} cout << "元素的位置為:" << endl;
for (int j = 0; j < num; j++)
cout << endl;
}templatevoid sqlist::outputsqlist()
cout << endl;
}
main.cpp
#include "sqlist.h"
#include "iostream"
using namespace std;
int main()
; int i = 5;
cout << "************************************" << endl;
sqlistsqlist(i, a);
sqlist.outputsqlist();
cout << "表長為:" << sqlist.lengthsqlist() << endl;
cout << endl;
cout << endl;
cout << "************************************" << endl;
sqlist.insertsqlist(1, 15.5);
sqlist.outputsqlist();
cout << "表長為:" << sqlist.lengthsqlist() << endl;
cout << endl;
cout << endl;
cout << "************************************" << endl;
sqlist.insertsqlist1(16.7);
sqlist.outputsqlist();
cout << "表長為:" << sqlist.lengthsqlist() << endl;
C 實現線性表順序儲存例項(一)
下面是結合c 類模板,給出的線性表順序儲存結構實現的例項,剛入門c 不久,程式中如有bug還望大家多多指教!線性表順序儲存結構實現 include stdio.h include iostream using namespace std const int maxsize 100 templatec...
C 實現線性表的順序儲存(順序表)
關於資料結構中的 線性表 佇列 棧 的相關講解,請看 c 實現資料結構中的線性表 typedef int elementtype define maxsize 10 struct sequence typedef int element type define maxsize 10 include ...
順序儲存線性表實現
在計算機中用一組位址連續的儲存單元依次儲存線性表的各個資料元素,稱作線性表的順序儲存結構。順序儲存結構的主要優點是節省儲存空間,因為分配給資料的儲存單元全用存放結點的資料 不考慮c c 語言中陣列需指定大小的情況 結點之間的邏輯關係沒有占用額外的儲存空間。採用這種方法時,可實現對結點的隨機訪問,即每...