发布网友 发布时间:2022-04-29 00:48
共2个回答
热心网友 时间:2022-06-26 18:57
追问我基础不好能解释一下意思吗谢谢
追答由于这个类只能创建一个对象,因此不允许用户自己进行拷贝和赋值,所以将它的拷贝构造函数和赋值操作符显示声明为私有的,并不实现。这样用户就不能调用了,默认的构造函数也声明为私有的,当用户定义对象的时候会调用构造函数,但这些构造函数都是私有的,是不允许外部调用的,会报错,这也就实现了用户不能随意定义对象。
但还需要产生一个对象,那么这个对象可以在静态的函数中给出,因为静态函数不属于任何单个对象,我们在静态函数中再定义一个静态对象,这个时候会调用默认的构造函数,但由于静态函数也是成员函数,它是可以调用我们故意声明的私有默认构造函数的,而函数中的静态数据对象在整个程序运行期间也只会存在一份,这样我们就只有一个唯一的对象了,就是static one_t ob; 然后使用的时候通过引用的方式访问它,这样大家就都只能使用这一个对象了。
热心网友 时间:2022-06-26 18:57
一个类只能产生一个对象想多了。