程式設計日誌2020 10 26

2021-10-25 06:45:27 字數 1261 閱讀 4445

學習資料結構,嘗試自己編寫簡單的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...