c++ - 返回类(class)成员是一种不好的做法吗?

标签 c++ class encapsulation

给定:

Class A
{
     private:
       double **CR;
     public:
       double **compute2D();
};

假设我有一个私有(private)的二维数组成员:

double **CR;

我有一个成员函数:

Double ** Compute2D()

函数 computer2D 将返回 CR

这是一种不好的做法吗? 为什么? 我应该使用 getter 和 setter 函数来返回它吗?

还有一个问题:我是否正确使用了垃圾收集器?

A::~A()
{
    //Delete 2D array
    for(int i = 0; i < Rows; ++i)
    {
        delete [] CR[i];
    }

    delete [] CR;
}

最佳答案

通过这样做,您可以在类之外更改私有(private)成员值。这取决于你是好是坏。但是在我看来,如果我有一个私有(private)成员,那么我必须是唯一一个可以改变它的值的人。

关于c++ - 返回类(class)成员是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17924545/

相关文章:

java - Android 存储值

c++ - 使用共享库和不匹配的编译器

c++ - 使用 qt 作为新进程执行批处理文件

c++ - 项目存档上的 Apple Mach-O 链接器错误

ruby-on-rails - 从 Controller 访问模型方法

python - 实现抽象属性而不需要在 child 中重新定义 __init__

c++ - 模板模板参数与函数模板的等效行为

python - 理解 Python 中的 Borg 单例模式

Java 对辅助类字段的反射

java - 如何按私有(private)字段对列表进行排序?