Your code looks mostly correct but you can make it more Singletonish by using a static class for your CSingleton class
CSingleton