[問題] vector裡裝入巢狀class的寫法?
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
小的目前在寫一個程式,需要建立一個可供查詢的表。
一直以來都是寫C,用傳統的array,這次想要使用vector遇到了點問題。
爬了幾天板,試了幾種方式。= =a 因為書上都是簡單的例子,所以...。
舉例,結構大概如下,在取值時會遇到問題。
因為對C++的觀念還不是很清楚,歡迎大家指教。
我的程式主要是在處理電路的問題。這個建表出來是要讓另一個輸入查表用。
看了書本說,若是結構較大的物件,建議使用LIST優於VECTOR,或者使用指標。
或者是有大大建議我使用別的結構。
class chapter{ //被包的那個不知道該怎麼找到他的值
public:
string chap_name;
int paragraph;
int pages;
};
class book{ //book可能會有幾萬筆資料。
public:
string name;
int all_pages;
//class chapter; 修改
cahpter ch01;
};
vector <book> book_table;
book temp;
int main(){
cin >> temp.name;
cin >> temp.all_pages;
cin >> temp.chapter; //這裡該怎麼寫比較對呢?因為它是一個class
chapter的數量,也是一個變量。
book_table.push_back(temp.name,temp.allpages,temp.chapter); //一直出錯QQ
還是應該使用..?
book_table[0].push_back(...同上...)
//如果確定一筆可讀取後,我想說,N筆可能是宣告一個iterator去跑begin()到end()。
//但是現在連一筆都不知道怎麼抓Q__________Q
return 0;
}//end main
餵入的資料(Input):
//舉例,當我之後出現了新的input,可能是一個book name與chap_name,
//然後我需要依照book name去找到他的all_pages與chpter內的資訊。
//eg. input "C++ primer" .可以抓到 all_pages = 1267,
chapter 的內容 第一章 概觀
第二章 c++語言的基本要素
第三章 procedure-base programming
.
.
. 依此類推。
預期的正確結果(Expected Output):
同上。
錯誤結果(Wrong Output):
類似未宣告之類的。
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
這是我的程式非主要的部分= =a,可是就有點搞不定了。
演算法部分反而做起來比較單純,因為希望程式在跑這部分時的時間不要太久。
所以如果大大有建議其他比較不占空間或時間的寫法也很歡迎。非常感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.10
→
03/22 15:21, , 1F
03/22 15:21, 1F
→
03/22 15:21, , 2F
03/22 15:21, 2F
推
03/22 15:22, , 3F
03/22 15:22, 3F
→
03/22 15:28, , 4F
03/22 15:28, 4F
→
03/22 15:28, , 5F
03/22 15:28, 5F
→
03/22 18:31, , 6F
03/22 18:31, 6F
→
03/22 22:01, , 7F
03/22 22:01, 7F
推
03/23 01:38, , 8F
03/23 01:38, 8F
為了避免誤導,做了修改。XDDD 打太快沒注意。
程式原本只完成到順利讀寫檔案,建立單層的表單關係,可供查詢。
原本只是想要表達結構的階層關係,所以另打了例子。。
一開始多層型態的宣告,自己是真的不太會用。感謝指教。
→ mitiyiyi:噗 抱歉!我的程式有設public,想說舉例打的不夠仔細~ 03/23 14:54
→
03/23 14:54, , 9F
03/23 14:54, 9F
※ 編輯: mitiyiyi 來自: 140.112.218.10 (03/23 15:03)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章