Admin наследуется от User, однако компилятор выдаёт ошибку C2504. "User: не определён базовый класс"
C2504. "User: не определён базовый класс" - несмотря на то, что я подключил "#pragma once" и написал "#include "User.h"" в "Admin.h", а так же написал "class User" в начале.
/User.h
#pragma once
#include <iostream>
#include <vector>
#include "BankCard.h"
#include "product.h"
#include "Group.h"
#include "Admin.h"
using namespace std;
class BankCard;
class Group;
class Admin;
class User {
public:
User(std::string name, int date_birthday, int age, std::string password);
//void operator=(const User&user);
static int Count;
int GetDateRegistration() { return date_registration; };
int GetDateBirthday() { return date_birthday; };
int GetAge() { return age; };
int GetCoinsCounter() { return coins_counter; };
void SetName(std::string name) { this->name = name; };
std::string GetName() { return name; };
int GetCounterSoild() { return counter_soild; };
int GetCounterSales() { return counter_sales; };
void SetCounterSoild(int counter_soild) { this->counter_soild = counter_soild; };
void SetCounterSales(int counter_sales) { this->counter_sales = counter_sales; };
int GetExperience() { return experience; };
void Create_Group(Group group, User user, Admin admin);
int AccrualCoins();
void Exchange(product prod);
void BuyProduct(BankCard bank_card_user, product prod);
void BuyCoins(BankCard bank_card_user);
void SetAvailable(bool available) { this->available = available; };
bool GetAvailable() { return available; }
private:
int date_registration;
int date_birthday;
int age;
std::string password;
int coins_counter;
std::string name;
int id;
int counter_soild;
int counter_sales;
int experience;
bool available;
bool check_create;
vector <Group> groups;
};
Admin.h:
#pragma once
#include <iostream>
#include "Group.h"
#include "product.h"
#include "User.h"
class User;
class Group;
class product;
using namespace std;
class Admin : public User
{
public:
Admin(string name, int date_birthday, int age, string password, string status);
void ConfigurationGroup(Group group);
void DeleteAnyProduct(product prod, Group group);
void BannedUser(User user);
private:
std::string status;
};