2013-10-31 122 views
0

所以我有一個結構需要四個不同參數(名稱,藝術家,大小和添加日期)的條目,但是我有另一個實際上是入口結構庫的結構,我想在庫結構中創建一個插入memeber函數,該函數接受一個參數,這個參數是放置在庫中的條目。C++:結構中的成員函數

在HEADER.h 在FUNCTION.cpp

struct MusicEntry{ 
    string name, artist, date_added; 
    long size; 

    MusicEntry() = default; 
    MusicEntry(string name_str, string artist_str, long size_int, string date_added_str) : 
    name(name_str), artist(artist_str), size(size_int), date_added(date_added_str) {}; 
    MusicEntry to_string(); 
}; 

struct MusicLibrary{ 

    MusicLibrary(string) {}; 
    MusicLibrary to_string(); 
    MusicEntry insert(); //not sure how this should be passed with MusicEntry 

}; 

MusicEntry MusicLibrary::insert(){ 
    //some code 
} 

每首歌曲提供了一個獨特的ID,這是什麼essentialy正通過插入元件通過功能。

+1

您是否在尋找'無效插入(常量MusicEntry&);'?你說你想要一個帶參數的函數,但是你的代碼顯示了一個不帶任何參數的函數。 –

+0

我不確定如何編寫它,所以我只是現在就發佈了我的代碼。 – Tyler

回答

0

我假設你想讓MusicLibrary包含MusicEntry的所有實例,因此你應該看看通用容器,如std :: vector。

http://www.yolinux.com/TUTORIALS/LinuxTutorialC++STL.html#VECTOR

跑過MusicEntry到MusicLibrary應與任一個的提及(&)或指針(*)來完成。

MusicEntry* MusicLibrary::insert(const MusicEntry* myEntry){ 
    //some code 
} 

MusicEntry& MusicLibrary::insert(const MusicEntry& myEntry){ 
    //some code 
}