C ++:结构中的成员函数

时间:2013-10-31 00:59:37

标签: c++ function struct

所以我有一个结构,它接受四个不同参数(名称,艺术家,大小和添加日期)的条目,但是我有另一个结构,实际上是一个入口结构的库,我想创建一个插入库结构中的memeber函数,它接受一个参数,该参数是放置在库中的条目。

HEADER.h中的

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

};
在FUNCTION.cpp中

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

每首歌都有一个唯一的ID,这是通过插入成员函数传递的必要条件。

1 个答案:

答案 0 :(得分: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
}