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

为什么要将成员变量声明为private:
1.为了语法的一致性;
访问class成员变量时不需要使用小括号,
访问class成员函数时需要使用小括号。
2.使用函数可以让你对成员变量的处理有更精准的控制;可以实现“只读”、“只写”…
3.最重要的,是为了封装
封装的好处:
可以为所有可能的实现提供弹性;
如添加通知、验证class约束条件、在多线程环境中执行同步控制…
确保class的约束条件总会获得维护,犹有进者,你保留了日后变更实现的权利;
不封装意味着不可改变;

protected成员变量类似,不封装它会破坏派生类代码。
从封装的角度看,只有两种访问权限:private(提供封装)和其他(不提供封装)。

  • 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、付费专栏及课程。

余额充值