-2
我有以下for循環,在這個foor循環中創建一個對象kw。在for循環中創建對象
The class keywords (string, vector<pair<int,string>>, vector<string>)
for(size_t i = 0; i < names.size();i++)
{
Keywords kw (names[i].c_str(),vreg, stopWords);
Document d = kw.extractKeywords();
v_doc.push_back(d);
}
我認爲這個for循環存在問題。我認爲如果我把關鍵字從for循環中取出可能會更好,因爲我只需要創建一次該對象。
Keywords kw (vreg, stopWords);
for(size_t i = 0; i < names.size();i++)
{
Document d = kw.extractKeywords(names[i].c_str());
v_doc.push_back(d);
}
當我這樣做時,我得不到正確的輸出。你能不能給我一個提示,謝謝。
Hani。
該類用於從xml文件中提取關鍵字。我公司提供的:
- 類的構造函數
- 拷貝構造函數
- getter和setter方法
- 析構函數
你認爲存在拷貝構造函數問題
Keywords::Keywords(string xmlF,vector<pair<int, string>> re,vector<string> sw)
{
// Setter for string: the path of the xml File
setXml(xmlF);
// Setter for the vector<pair<int, string>> re
setRegularExpression(re);
//setter for vector<string> sw
setStopWords(sw);
}
//FREE MEMORY
Keywords::~Keywords()
{
sw.clear();
vreg.clear();
}
void Keywords::setRegularExpression(vector<pair<int, string>> re)
{
vreg = re;
}
vector<pair<int, string>> Keywords::getRegularExpression()
{
return vreg;
}
void Keywords::setStopWords(vector<string> s)
{
sw = s;
}
vector<string> Keywords::getStopWords()
{
return sw;
}
void Keywords::setXml(string xmlF)
{
xmlFile = xmlF;
}
///COPY CONSTRUCTOR
Keywords::Keywords(const Keywords& other):vreg(other.vreg),sw(other.sw)
{
}
你真的*想要我們猜測關鍵詞類是什麼嗎?說真的,我們怎麼知道? – syam
哦,等一下我會把代碼抱歉。我只是想知道這是否是一個很好的做法。 –
哦確定有一個很好的做法「* that *」。唯一的(也是最重要的)問題是,什麼是「*那*」,究竟是什麼? ;) – syam