如何决定';什么是私人的';在ADT中是公共的吗? 我刚刚开始学习C++中的ADTs,我想知道是否有一个通用的规则来决定一个方法或变量应该是公共的还是私有的。对于一个方法来说,公开“表示的具体细节”意味着什么,这使得它不适合作为公共成员包含?

如何决定';什么是私人的';在ADT中是公共的吗? 我刚刚开始学习C++中的ADTs,我想知道是否有一个通用的规则来决定一个方法或变量应该是公共的还是私有的。对于一个方法来说,公开“表示的具体细节”意味着什么,这使得它不适合作为公共成员包含?,c++,C++,ADT不应该有任何成员变量,并且由于私有成员函数是实现的一部分,它们也不应该有任何这些变量 ADT是对接口的描述。类的接口(通常)是一组公共成员函数,外部世界使用这些函数与底层对象进行交互。短语“关于表示的具体细节”指的是关于如何表示某物的信息。例如,在C++中,代码> vector < /COS> s作为动态分配的数组在内部存储。这一事实对于它们作为动态列表的使用并不重要。因此,它没有包含在界面中。这似乎更多的是一个理论问题(O-O原理的美等等)。对于实际的编码问题也是如此。这在程序员或cst

ADT不应该有任何成员变量,并且由于私有成员函数是实现的一部分,它们也不应该有任何这些变量


ADT是对接口的描述。类的接口(通常)是一组公共成员函数,外部世界使用这些函数与底层对象进行交互。短语“关于表示的具体细节”指的是关于如何表示某物的信息。例如,在C++中,<>代码> vector < /COS> s作为动态分配的数组在内部存储。这一事实对于它们作为动态列表的使用并不重要。因此,它没有包含在界面中。

这似乎更多的是一个理论问题(O-O原理的美等等)。对于实际的编码问题也是如此。这在程序员或cstheory.About C#上可能更好,但似乎仍然适用: