在c++中创建一个只有1个对象的类是浪费吗

Is it a waste to create a class with only 1 object in c++

本文关键字:对象 1个 创建 c++ 一个      更新时间:2023-10-16

如果你想存储关于一件事(比如用户)的信息,那么创建一个类会是浪费吗?

这个类只能容纳一个对象,即用户。对我来说,如果使用类,它似乎很干净,也很容易理解,但我不知道它是否浪费。

class c_User{
public:
    int GetAge();
    string GetName();
    void SetAge();
    void SetName();
private:
    int m_userAge;
    string m_userName;
}

这些基本上可以很方便地访问。一旦它们设置好。它也可以有自己的功能,并有很多控制。

int main(){
    c_User User;
    //Set
    //Get
    User.GetAge();
    User.GetName();
}

以下是在不使用类的情况下实现相同功能的方法。一旦它们设置好。

int main(){
    int userAge;
    string userName;
    //Set
    //Get
    userAge;
    userName;
}

它们实际上并没有被用于上述任何用途。但是访问它们,然后以某种方式使用它们的想法。

我不确定没有类的方法在包含更多信息后是否会变得混乱。我所做的一切都是小规模的,但我正试图转移到有更多信息的更大项目中。

创建一个只有1个对象的类是浪费吗?

它允许您将两个值都视为一个单独的实体,这总是很好的——从概念上讲,一个实体就是您所拥有的。由于您的类是一个包含getter和setter的两个值的简单容器,因此它没有实现任何封装,可以更简单地写成:

struct User 
{
    int Age;
    string Name;
};

现在,定义它的句法成本似乎更符合它的实际用途。

我想说,在用C++编写时,坚持使用类通常是一种很好的做法。在这个特定的实例中,您当然可以使用一个结构。但随着你在语言中的成长,你对课堂范式的了解越多越好。

用c++编写"c风格"代码是可行的,但实际上可能会在以后的大型程序中导致优化问题。