hi leutz,
ich hab probleme mit meinem intelli sense. ich benutze VC++ .NET 2003.
und zwar hab ich ne template singleton klasse geschrieben. mit der man per vererbung eine singleton klasse bauen kann. (wie in der ogre3D-Engine)
|
C-/C++-Quelltext
|
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
|
template<class T>
class SingletonT
{
protected:
// hidden constructor and copy constructor
SingletonT<T>(void){}
SingletonT<T>(const SingletonT<T>& other){}
public:
// destructor
virtual ~SingletonT<T>(void){}
// Creates an instance and returns a pointer on it
static T* CreateInstance(void)
// Deletes the instance
static void DeleteInstance(void)
// Returnes an instance Pointer
static T* GetInstancePtr(void)
// protected members
protected:
static T* _pInstance;
};// SingletonT
class Bla : public SingletonT<Bla>
{
public:
void eins(void);
void zwei(void);
};
Bla* SingletonT<Bla>::_pInstance = NULL;
|
wenn ich jetzt klassen die davon erben verwende springt das intelli sense nicht an.
Beispiel:
|
C-/C++-Quelltext
|
1
2
3
4
|
// Die Klasse Bla ist sonen singleton wie oben gezeigt
Bla::CreateInstance();
// Bei Bla:: zeigt das intelli sense noch was an
// aber wenn ich schreibe Bla::GetInstancePtr()-> zeigt es nichts mehr
|