c++ - 如何决定 ADT 中什么是私有(private)的、什么是公共(public)的?

标签 c++

我刚刚开始学习 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/

相关文章:

c++ - 同时使用基于范围的for循环和do while循环时VS2013编译错误

javascript - C++ - 实现 JS 的 setTimeout 的现代方法

c++ - 发送和十六进制消息时套接字代码 C++ 的问题

c++ - 在 Qt 中添加项目时如何保持相同的滚动位置?

c++ - 将 vector<string> 转换为 vector<double> 的便捷方法

c++ - 如何生成唯一的文件名或路径?

c++ - 旋转顶点数组对象不起作用

c++ - 如何包含另一个目录中的 DLL

c++ - 传递字符数组?

c++ - 是否可以解决 CUDA 内存碎片问题?