在c++中创建一个只有1个对象的类是浪费吗
Is it a waste to create a class with only 1 object in c++
如果你想存储关于一件事(比如用户)的信息,那么创建一个类会是浪费吗?
这个类只能容纳一个对象,即用户。对我来说,如果使用类,它似乎很干净,也很容易理解,但我不知道它是否浪费。
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风格"代码是可行的,但实际上可能会在以后的大型程序中导致优化问题。
相关文章:
- 如何返回一个类的两个对象相加的结果
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身
- 从多个源构造一个对象,包括一个对象向量
- 如何在C++中从文件中读取/写入多个对象
- 最多获取2个对象
- 为什么C++在将一个对象复制到另一个对象时需要对这两个对象进行低级常量限定
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- 无法使用VAO和EBO(openGL)绘制多个对象
- 如何返回多个矢量对象的平均值?C++
- int数据类型的指针指向的是什么,如果是一个类的私有数据成员,我们创建了该类的两个对象?
- 如何从文件中读取两个字符串和数字数组,并将它们存储在对象向量中
- 有没有办法一次声明相同类型的多个对象,并通过一个表达式立即使用相同的右值初始化它们?
- 如何在生成文件中添加多个标头 (HDR) 和对象?
- "main"函数堆栈中的对象在第一个任务运行时被覆盖 (FreeRTOS)
- 在什么情况下,两个堆栈分配的结构对象的 this 点指向同一个地址?
- 如何用 2 个对象过度引导运算符
- 在 c++ 中,如何返回多个对象并从 RVO 中受益
- 通过插槽和信号在不同线程中的两个qt对象之间进行通信
- 跨多个对象使用地图