Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1357349
  • 博文数量: 281
  • 博客积分: 8800
  • 博客等级: 中将
  • 技术积分: 3346
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-17 22:31
文章分类

全部博文(281)

文章存档

2013年(1)

2012年(18)

2011年(16)

2010年(44)

2009年(86)

2008年(41)

2007年(10)

2006年(65)

我的朋友

分类: 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 类用于将相关的方法和常数组合在一起,但是它不能被实例化。因此它声明了单个空的私有实例构造函数。若要取消默认构造函数的自动生成,必须至少声明一个实例构造函数。

阅读(1325) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~