常规做法是构造函数(析构函数)为private,然后static方法提供实例。
缺点是实例只能堆上处理,不能栈上初始化。
而另一种方法,利用模板传入type,然后作为友元。但是兼容性不太好。详见面试书,P257
常规做法是构造函数(析构函数)为private,然后static方法提供实例。
缺点是实例只能堆上处理,不能栈上初始化。
而另一种方法,利用模板传入type,然后作为友元。但是兼容性不太好。详见面试书,P257
下一篇:不用加减乘除做加法
最直观的解决方法就是将其构造函数声明为私有的
问题描述:设计一个不能被继承的类,该类只能用来创建对象,不能作为其他类的基类。相关阅读:Python中超类是如何知道自己被继承的参考代码:公众号“Python小屋”
我们知道,final,private,static和构造方法都是无法被继承的,但是细究起来还是稍有区别,看代码:测试类:Father:同包下子类:来一个一个分析,首先:final方法:很干脆,注释显示:final不能被覆写。private方法:并没有报错,但是回想一下Java修饰符那节:private下,父类的testPrivate()方法对于子类Son是不可见的,故可以推测:系统认为testPr
据我们知道,我们只要把类的构造函数和析构函数定义为private类型,那么就不能够在外部建立给类的对象,也就不能以给类为基类进行继承,
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M