最近按照書本寫了下模板類,熟悉下其使用方法。按照以往的程式設計風格,我們會把類的宣告寫在標頭檔案中,而把類的實現部分寫在cpp標頭檔案中。
然而對於模板類,這種做法最容易遇到乙個奇怪的問題,具體描述如下:
程式設計環境:vc6.0
語言: c++
情況一:把模板類的宣告和定義都寫在標頭檔案中時,編譯通過,且正常執行。
情況二:當宣告和定義分開寫時,main.cpp 裡頭引入模板類的標頭檔案則編譯通過,當build時有錯誤。
情況三:當宣告和定義分開寫時,main.cpp 裡頭引入模板類的cpp檔案則編譯通過,build時也正常,可以正常執行。
stack.h 檔案:
#ifndef stack_h
#define stack_h
#define default_sixe 20
template class stack
~stack()
void clear();
bool push(const elem& data);
bool pop(elem& data);
bool topvalue(elem& data) const;
int length() const
};#endif
stack.cpp檔案:
#include "stack.h"
template void stack::clear()
template bool stack::push(const elem& data)
listarray[top++] = data;
return true;
}template bool stack::pop(elem& data)
data = listarray[--top];
return true;
}template bool stack::topvalue(elem& data) const
data = listarray[top-1];
return true;
}
main.cpp檔案:
#include "stack.h"
#include int main()
{ stacks(3);
s.push(23);
s.push(34);
s.push(2);
int r;
s.pop(r);
cout<
mongodb使用時遇到的問題
mon new mongoclient mongodb localhost 27017 要操作的資料庫 database mon apidata1 選擇集合 info database uuuvnq 全部查詢 data info find var dump data 結果 原因 find返回的是游標...
vue fullpage使用時遇到的問題
專案中用到了vue fullpage,遇到了幾個問題。專案情況主要就是做個資料報告,通過移動端的單頁滾動效果來展示資料。單頁滾動中某些元素需要相應的動畫效果。實際上這個bug已經被作者修改好了的,但是並沒有更新到npm上。commit d309628ecf54a390bd5a070ab411d43b...
SVN使用時遇到的問題
當然,一般開發者面對的問題是svn沒有啟動,並不知道原因。所以,找原因是首先想到的思路。那我們就檢查svn是否已經啟動了。上圖表示已經啟動了svnserve。如果沒有啟動,則啟動。svnserve d r data svn 我一般會檢查防火牆是否開啟,如果開啟,則關閉,並設定為開機關閉。centos...