分类: C/C++
2006-06-11 19:16:49
当类 T
只声明了私有实例构造函数时,则在 T
的程序文本外部,既不可能从 T
派生出新的类,也不可能直接创建 T
的任何实例。因此,如果欲设计一个类,它只包含静态成员而且有意使它不能被实例化,则只需给它添加一个空的私有实例构造函数,即可达到目的。例如:
public class Trig { private Trig() {} // Prevent instantiation public const double PI = 3.14159265358979323846; public static double Sin(double x) {...} public static double Cos(double x) {...} public static double Tan(double x) {...} }
Trig
类用于将相关的方法和常数组合在一起,但是它不能被实例化。因此它声明了单个空的私有实例构造函数。若要取消默认构造函数的自动生成,必须至少声明一个实例构造函数。