Bonjour,
Je suis entrain de développer une classe singleton qui hérite d'une autre classe qui n'est pas singleton.
Est-ce que vous pouvez me dire si cette architecture est utilisé souvent et ne présente pas de problème particulier ?
Ou il faudrait que les deux classes soit des singletons ?
Voici un exemple de ce j'ai fais dans mon code (Shape et Rectangle sont des exemples pour exprimer la solution que je suis entrain d'implémenter).
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <iostream> using namespace std; // Base class class Shape { public: Shape(){} ~Shape(){} void setWidth(int w) { width = w; } void setHeight(int h) { height = h; } protected: int width; int height; }; // Derived class class Rectangle: public Shape { private: /// Constructor Rectangle(); /// Destructor ~Rectangle(); /// Singleton instance static Rectangle *m_pcInstance; public: Rectangle* Rectangle::getInstance() { if(m_pcInstance == NULL) m_pcInstance = new Rectangle(); return m_pcInstance; } Rectangle::Rectangle() { } Rectangle::~Rectangle() { } void Rectangle::vKill() { if(m_pcInstance != NULL) { delete m_pcInstance; m_pcInstance = NULL; } } int getArea() { return (width * height); } };
Partager