ArtistType.h
2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#pragma once
#include"AlbumType.h"
using namespace std;
class ArtistType {
public:
ArtistType()
{
ArtistName = "";
}
; //기본 생성자
~ArtistType()
{
AlbumList.MakeEmpty();
}
; //기본 소멸자
ArtistType(const ArtistType& data);
/**
* @brief Get ArtistName
* @pre ArtistName is set
* @post x
* @return ArtistName
*/
string GetArtistName()
{
return ArtistName;
};
/**
* @brief set ArtistName
* @pre x
* @post ArtistName is set
*/
void SetArtistName(string Name)
{
ArtistName = Name;
};
/**
* @brief 비교 연산자
* @pre 비교하려는 두 아티스트타입이 초기화되어 있어야한다
* @post x
* @param data 비교하려는 아티스트타입
* @return 좌변이크면 false, 우변이크면 true
*/
bool operator<(ArtistType data)
{
return (ArtistName < data.GetArtistName());
};
/**
* @brief 비교 연산자
* @pre 비교하려는 두 아티스트타입이 초기화되어 있어야한다
* @post x
* @param data 비교하려는 아티스트타입
* @return 좌변이크면 true, 우변이크면 false
*/
bool operator>(ArtistType data)
{
return (ArtistName > data.GetArtistName());
};
/**
* @brief 등위 연산자
* @pre 비교하려는 두 아티스트타입이 초기화되어 있어야한다
* @post x
* @param data 비교하려는 아티스트타입
* @return 두 항이 같으면 true 아니면 false
*/
bool operator==(ArtistType data)
{
if (ArtistName == data.GetArtistName())
return true;
else
return false;
};
/**
* @brief 대입 연산자
* @pre 패러미터로 넘어오는 Artisttype이 초기화되어있어야한다.
* @post this가 data와 같아진다
* @param data 대입하려는 아티스트타입
* @return *this
*/
ArtistType operator=(const ArtistType& data)
{
ArtistName = data.ArtistName;
AlbumList = data.AlbumList;
return *this;
};
/**
* @brief 리스트안의 리스트에 원소를 추가한다
* @pre x
* @post AlbumList에 앨범이 추가된다.
* @param A 추가하려는 앨범타입
*/
void AddListinList(AlbumType &A)
{
AlbumList.Add(A);
};
/**
* @brief 리스트 안의 리스트의 내용을 출력한다.
* @pre 앨범리스트가 초기화되어 있어야 한다.
* @post x
*/
void PrintListinList() ;
void MakeEmptyListinList()
{
AlbumList.MakeEmpty();
}
private:
SortedLinkedList<AlbumType> AlbumList; //한 아티스트가 가지는 앨범 리스트
string ArtistName;
};