Я написал 2 класса, Agent
и Timing
. Третий класс будет содержать функцию main()
и управлять всем этим. Цель состоит в том, чтобы создать n экземпляров Agent
и один экземпляр Timing
. Важно отметить, что Agent
использует Timing
поля, а Timing
использует Agent
функции.
Как я могу включить Timing
в синглтон ?
//Agent.h
#ifndef Timing_h
#define Timing_h
#include <string>
#include "Timing.h"
class Agent{
public:
Agent(std::string agentName);
void SetNextAgent(Agent* nextAgent);
Agent* GetNextAgent();
void SendMessage();
void RecieveMessage(double val);
// static Timing runTime;
То, что я думал, решит мою проблему, но я получил:
«Сроки» не называет тип
~Agent();
private:
std::string _agentName;
double _pID;
double _mID;
Agent* _nextAgent;
};
#endif
//Timing.h
#ifndef Timing_h
#define Timing_h
class Timing{
private:
typedef struct Message{
Agent* _agent;
double _id;
}Message;
typedef Message* MessageP;
Message** _messageArr;
static int _messagesCount;
public:
Timing();
void AddMessage(Agent* agent, double id);
void LeaderElected(string name);
void RunTillWinnerElected();
~Timing();
};
#endif
Действительно ли это способ создания синглтона, и если это так, то в чем проблема?
А если нет, то как я могу превратить его в синглтон?