使用哪种:类中的类或结构?

时间:2015-01-28 19:10:02

标签: class c++11 struct

所以,我在C ++ 11编码最佳实践领域有一些哲学问题。

创建一个基本上将数据从一个系统转换到另一个系统的应用程序。你应该在类中定义所有内容,还是在类中使用结构?

这是我所指的更具体的例子。

对于典型的类对象。我应该这样创建它:

class Contact {
    std::string Name;
    std::string Address;
    ::       ::       ::
    void Load();
    void Save();
    std::string OtherFunctions( std::string Name )
}

或者将数据从班级中分离出来更好:

struct ContactInfo {
    std::string Name;
    std::string Address;
    ::       ::       ::
}

class Contact {
    ContactInfo data;
    void Load();
    void Save();
    std::string OtherFunctions( std::string Name )
}

我正在考虑结构而不仅仅是在类中进行操作的几个原因是能够在API之间传输数据。例如,这些对象的创建是在低级纯C ++应用程序中完成的。但是,在整个过程中,它会暴露给托管的C ++应用程序,然后最终在.NET应用程序中使用。

其次,当信息从一个函数传递到另一个函数时,我只传递信息而不传递类对象。对于现代编译器,也许这一点是静音的,但从逻辑上讲,只传递数据而不是对象似乎更好。

第三,它将管理对象数据所需的类成员与数据本身分开。因此,拥有像ErrorCode,ErrorMessage等成员不会污染什么是数据,什么不是。

我离开基地吗? 我应该采取更好的方式进行此类活动吗?

0 个答案:

没有答案