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).

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); 
      }
};
Merci de votre aide.