Здравствуйте, при работе с классами столкнулся с такими ошибками E0020 и C3861,короче говоря при вызове методов класса не найден идентификатор
Вынес методы класса за класс и оставив только прототипы Прикреплю код, подскажите что не так
#include <iostream>
using namespace std;
class BOOK
{
string name;
string author;
int year;
double price;
public:
void set(string name1, string author1, int year1, double price1);
string get_name() const;
string get_author() const;
int get_year() const;
double get_price() const;
void input_arr(int N, BOOK* SHOP);
void output_arr(int N, BOOK* SHOP);
void search(int N, BOOK* SHOP);
void delete_arr(BOOK* SHOP);
};
string BOOK:: get_name() const {
//cout << goods << endl;
return name;
}
string BOOK:: get_author() const {
//cout << od << endl;
return author;
}
int BOOK:: get_year() const {
//cout << kol << endl;
return year;
}
double BOOK:: get_price() const {
//cout << price << endl;
return price;
}
void BOOK:: set(string name1, string author1, int year1, double price1) {
name = name1;
author = author1;
year = year1;
price = price1;
}
void BOOK:: input_arr(int N,BOOK *SHOP) {
cout << "Enter the information:" << endl;
for (int i(0); i < N; i++) {
cout << "Name of book:";
cin >> name;
cout << "Author:";
cin >> author;
cout << "Year:";
cin >> year;
cout << "Price:";
cin >> price;
SHOP[i].set(name, author, year, price);
}
cout << "-----------------------------------" << endl;
}
void BOOK:: output_arr(int N, BOOK* SHOP) {
for (int i(0); i < N; i++) {
name = SHOP[i].get_name();
author = SHOP[i].get_author();
year = SHOP[i].get_year();
price = SHOP[i].get_price();
cout << endl << name << endl << author << endl << year << endl << price << endl;
}
cout << "---------------------------" << endl;
}
void BOOK::search(int N, BOOK* SHOP) {
int search, counter = 0;
cout << "Input a year of book: ";
cin >> search;
cout << "This books are released in " << search << endl;
for (int i(0); i < N; i++) {
if (SHOP[i].get_year() == search) {
name = SHOP[i].get_name();
cout << endl << name << endl;
counter++;
}
else if (counter == 0 && i == N - 1) {
cout << "None of books in this shop weren't released in " << search << endl;
break;
}
}
}
void BOOK::delete_arr(BOOK* SHOP) {
delete[]SHOP;
}
int main()
{
int N = 0;
cout << "Input a number of books:";
cin >> N;
BOOK* SHOP = new BOOK[N];
string name;
string author;
int year;
double price;
// в 4 строках, которые приведены ниже происходит ошибка
input_arr(N, SHOP);
output_arr(N, SHOP);
search(N, SHOP);
delete_arr(SHOP);
return 0;
}