2014-10-09 32 views
2

如果您想存储关于1件事物(例如用户)的信息,创建一个类会是一种浪费吗?在C++中仅创建一个对象是一种浪费

这个类只能保存1个对象,它将是用户。对我来说,如果使用课堂,看起来干净而容易理解,但我不知道它是否浪费。

class c_User{ 
public: 
    int GetAge(); 
    string GetName(); 

    void SetAge(); 
    void SetName(); 
private: 
    int m_userAge; 
    string m_userName; 
} 

这些可以在main中整齐地访问。一旦它们被设置。它也可以拥有自己的功能并且有很多控制权。

int main(){ 
    c_User User; 
    //Set 

    //Get 
    User.GetAge(); 
    User.GetName(); 
} 

以下是不使用类实现同一事物的一种方法。一旦它们被设置。

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

    //Get 
    userAge; 
    userName; 
} 

它们实际上并未用于上述任何事情。但访问它们的想法,然后以某种方式使用它们。

我不确定没有类的方法一旦拥有更多信息就会变得混乱。我所做的每件事都是小规模的,但我正试图通过更多信息进入更大的项目。

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

+0

定义“浪费”/“浪费”。 – user657267 2014-10-09 02:05:59

+2

http://en.wikipedia.org/wiki/Singleton_pattern – 2014-10-09 02:06:10

+0

如果有多个程序要使用它,那么它可能不是一种浪费。在规划任何项目时,您必须权衡设计实施成本的好处。如果我正在编写一个处理客户信息的简单文本处理工具,我会创建一个全功能的客户类来代表它们吗?疑。为什么在10分钟的工作中浪费20分钟? – Galik 2014-10-09 02:07:02

回答

1

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

struct User 
{ 
    int Age; 
    string Name; 
}; 

现在界定的语法成本似乎更符合其实际用处。

0

我会说,这是通常的良好做法,用C++编写时坚持使用类。在这个特定的例子中,你当然可以使用一个结构。但随着语言的发展,对班级范例的了解越多,越好。

在C++中编写“c-style”代码很有用,但实际上会导致大规模程序中的优化问题。