假设我们有一个单例类,其中的 Instance 函数(返回该类的单例实例的函数)已被重载。一个版本接受一些参数并在类构造函数中初始化对象,另一个版本不接受任何参数。
1. myClass::Instance ( int x, int y );
2. myClass::Instance ( );
我们想要实现的是类的用户应该总是首先调用(1),并且任何后续调用都应该只对(2)进行。不应允许用户第一次调用 (2),一旦调用 (1),就不允许对 (1) 进行后续调用。
是否可以在不将检查 NULL 指针的负担放在类的用户身上来实现这一点?