我的类ClassA中的所有成员变量和成员函数都是静态的。
如果用户试图(错误地)创建此类的对象,他会收到警告:“ClassA,从未引用过局部变量”,因为所有函数都是静态的,因此永远不会引用该对象。所以,我想阻止用户尝试创建此类的对象。
创建一个私有(private)默认(无变量)构造函数就足够了吗?或者我是否还必须创建私有(private)复制构造函数和私有(private)赋值运算符(以防止使用默认构造函数)?如果我也必须创建它们,也许最好只创建一些虚拟的纯虚函数,这样会阻止用户创建对象?
谢谢
最佳答案
与其使用包含所有静态方法的类,不如让这些方法在单独的命名空间中成为独立函数会更好。调用语法是一样的:
namespace::function()
而不是 classname::function()
而且您不需要与试图实例化您的类的人打交道。
关于c++ - 防止创建成员函数都是静态的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/353550/