我刚刚开始学习 C++ 中的 ADT,我想知道是否有一个通用规则来决定方法或变量应该是公共(public)的还是私有(private)的。对于公开“有关表示的具体细节”的方法来说,这意味着它不适合作为公共(public)成员包含在内,这意味着什么?
最佳答案
ADT 不应具有任何成员变量,并且由于私有(private)成员函数是实现的一部分,因此它们也不应具有任何成员变量。
ADT 是接口(interface)的描述。类的接口(interface)(通常)是一组公共(public)成员函数,外部世界使用它们与底层对象进行交互。短语“关于表示的具体细节”指的是关于如何表示某物的信息。例如,在 C++ 中, vector 在内部存储为动态分配的数组。这一事实对于它们用作动态列表并不重要。因此,它不包含在接口(interface)中。
关于c++ - 如何决定 ADT 中什么是私有(private)的、什么是公共(public)的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13410444/