繁体   English   中英

具有所有成员和方法的C ++类静态

[英]C++ class with all members and methods static

我有一个具有多个类的程序,并且有一个类具有所有成员和静态方法的类,具有以下内容:两个成员和两个方法,用于在开始时对其进行初始化。 同样,我的静态课程中的所有成员都是公开的。 我的问题是,这是不好的做法还是有更好的方法呢? 我仅在另一个类中使用该类的成员。

始终避免创建无用的符号

如果不需要类,请在名称空间中创建一组函数。 如果您的函数集需要处理一些数据,则可以使用静态类/单例。

设计应用程序时,我的规则是避免拥有可在任何地方调用的内容。

限制自己越多 (或者对于库而言, 限制 用户), 代码越安全 (由于错误的使用而导致的错误少)。

如果您确实需要制作一个静态类,我建议您使用这样的构造函数:

class Foo
{
    public:
        Foo() = delete;
};

它避免了不可实例的类和完全静态的类之间的混淆。

如果您喜欢蓬勃发展,则可以设置以下内容:

#define STATIC_CLASS(class_name) public: class_name() = delete

class Foo
{
    STATIC_CLASS(Foo);
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM