Skip to content

Commit 2caeebd

Browse files
authored
added virtual destructor. and smart pointers.
1 parent 2d571b7 commit 2caeebd

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

riderMgr.hpp

+13-9
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
#pragma once
22

33
#include "rider.hpp"
4-
#include "mutex"
4+
#include <mutex>
5+
#include <memory>
6+
7+
using namespace std;
58

69
class RiderMgr {
7-
RiderMgr(){}
8-
static RiderMgr* riderMgrInstance;
9-
static mutex mtx;
10-
unordered_map<string, Rider*> ridersMap;
10+
RiderMgr() = default; // Kept constructor private to enforce singleton pattern
11+
static shared_ptr<RiderMgr> riderMgrInstance;
12+
static mutex mtx;
13+
unordered_map<string, shared_ptr<Rider>> ridersMap;
1114
public:
12-
static RiderMgr* getRiderMgr();
13-
void addRider(string pRiderName, Rider* pRider);
14-
Rider* getRider(string pRiderName);
15-
};
15+
static shared_ptr<RiderMgr> getRiderMgr();
16+
void addRider(const string& pRiderName, shared_ptr<Rider> pRider);
17+
shared_ptr<Rider> getRider(const string& pRiderName);
18+
virtual ~RiderMgr() = default; // Added virtual destructor
19+
};

0 commit comments

Comments
 (0)