条款22:将成员变量声明为private

public意味着不封装,不封装意味着不可改变,特别是对广泛使用的class而言,被广泛使用的class是一个最需要封装的族群。
Protected的封装性并非高过public成员,某些东西的封装性与“当其内容改变时可能造成代码的破换量”成反比,从封装的角度来看,只有两种访问权限,private(提供封装)和其他(不提供封装)。

  • 请注意
  • 切记将成员变量声明为private。这可赋予客户访问数据的一致性、可细微划分访问控制、允诺约束条件获得保证,并提供class作者以充分的实现弹性。
  • protect并不比public更具有封装性。
  • 最好public中只存在函数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将 `CustomPlot_Magnitude` 声明为类的成员变量需要在类的头文件中进行。你可以将 `CustomPlot_Magnitude` 声明为一个指向 `QCustomPlot` 对象的指针,并在类的构造函数中初始化它。以下是一个示例: ``` // someclass.h #include <QCustomPlot> class SomeClass : public QObject { Q_OBJECT public: SomeClass(QObject *parent = nullptr); ~SomeClass(); private: QCustomPlot *CustomPlot_Magnitude; // 将 CustomPlot_Magnitude 声明为类的成员变量 }; ``` 在类的构造函数中初始化 `CustomPlot_Magnitude` 指针。例如: ``` // someclass.cpp #include "someclass.h" SomeClass::SomeClass(QObject *parent) : QObject(parent) { CustomPlot_Magnitude = new QCustomPlot(); // 初始化 CustomPlot_Magnitude 指针 } SomeClass::~SomeClass() { delete CustomPlot_Magnitude; // 在析构函数中释放 CustomPlot_Magnitude 指针所指的内存 } ``` 在类的其他成员函数中,你可以使用 `CustomPlot_Magnitude` 指针来执行一些操作。例如: ``` // someclass.cpp #include "someclass.h" SomeClass::SomeClass(QObject *parent) : QObject(parent) { CustomPlot_Magnitude = new QCustomPlot(); // 初始化 CustomPlot_Magnitude 指针 } SomeClass::~SomeClass() { delete CustomPlot_Magnitude; // 在析构函数中释放 CustomPlot_Magnitude 指针所指的内存 } void SomeClass::SomeFunction() { CustomPlot_Magnitude->setWindowTitle("My Custom Plot"); // 使用 CustomPlot_Magnitude 指针执行一些操作 } ``` 需要注意的是,这只是一个示例,你需要根据实际情况进行相应的修改。同时,也需要注意在类的析构函数中释放 `CustomPlot_Magnitude` 指针所指的内存,以防止内存泄漏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值