It appears that maybe an Iinterface with ref counting is what the poster wants?
He hasn't mentioned releasing at all, so I wouldn't guess.
Either a singleton (but then no count needed, just check the variable to the single instance)...
Or a pool of objects. Then a pool object would be a good choice.
If it is a pool then lets hope it is not a thread pool (well he hasn't mentioned threads either), or hope that the counter access is threadsave. (I.e. in his sample guaranteed to be called from one thread only)
The fun game of guessing another persons intend, without having any info...