學習資料結構,嘗試自己編寫簡單的vector模板類,能夠實現向量的建立、隨機訪問、排序、查詢、插入、刪除以及去重等操作。
目前完成了類宣告及建構函式析構函式的編寫。編寫了四種建構函式,編寫user.cpp測試建構函式。
**:
①類宣告
template
myvector::myvector(int c)
template
myvector::myvector(const t arr, rank lo, rank hi)
template
myvector::myvector(const myvector& v, rank lo, rank hi)
template
myvector::myvector(const myvector& v)
template
void myvector::copyfrom(const t* p, rank lo, rank hi)
}③測試檔案user.cpp
#include
#include"my_vector_h.h"
using std::cin;
using std::cout;
int main()
cout << "the vector contains: ";
for (int i = 0;i < n;i++)
bug:
1>user.obj : error lnk2019: 無法解析的外部符號 「public: __thiscall myvector::myvector(int)」 (??0?$myvector@h@@qae@h@z),函式 _main 中引用了該符號
1>c:\users\dell\source\repos\dsatest\debug\vector_diy.exe : fatal error lnk1120: 1 個無法解析的外部命令
原因
沒能建立出建構函式的實體,所以無法構造物件。原因是將模板類的方法寫進了cpp檔案中,應該寫入到頭檔案中。
一般的習慣是類的宣告寫在標頭檔案,類方法的定義寫在cpp檔案。
但是對於模板類而言,類宣告和類方法的定義都要寫在標頭檔案中。因為模板類以及它的函式成員都是模板,都只是為類物件的生成提供乙個藍圖,不能放在實現檔案中。
2020 10 26js陣列函式
1.array.map 此方法是將陣列中的每個元素呼叫乙個提供的函式,結果作為乙個新的陣列返回,並沒有改變原來的陣列 let arr 1,2,3,4,5 let newarr arr.map x x 2 arr 1,2,3,4,5 原陣列保持不變 newarr 2,4,6,8,10 返回新陣列 2....
141 環形鍊錶 2020 10 26
給定乙個鍊錶,判斷鍊錶中是否有環。如果鍊錶中有某個節點,可以通過連續跟蹤 next 指標再次到達,則鍊錶中存在環。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果 pos 是 1,則在該鍊錶中沒有環。注意 pos 不作為引數進行傳遞,僅僅是為了標識...
程式設計日誌4
demonstration of buffer overflow include include implementation of library function gets char gets char dest p 0 return dest read input line and write...