接着上面的例子,为什么SBDSerialPort的成员不全是public
时间: 2024-04-01 15:34:04 浏览: 62
SBDSerialPort 结构体中的成员变量并不全都是 public 的,是因为在 C++ 中,通常使用封装来实现数据的隐藏和保护,提高程序的安全性和可维护性。封装的主要目的是将数据和操作数据的方法封装在一个类中,然后只暴露出必要的接口给外部使用,而将其它数据和方法进行隐藏,不暴露给外部。
在 SBDSerialPort 结构体中,成员变量 header、id、cmd1、cmd2、cmd3 和 dataParity 都是 private 的,只能在 SBDSerialPort 内部访问和修改,而成员函数 dataParitySum 和 toByteArray 是 public 的,可以被外部调用。
这样设计的好处是,可以确保 SBDSerialPort 结构体内部的数据不会被外部直接修改,从而保证数据的安全性和可靠性。同时,通过提供公共的接口,可以让外部代码更加简洁和易于维护。
如果将所有成员变量都改为 public 的,则会破坏封装的原则,使得外部代码可以直接访问和修改成员变量,增加程序的风险和不可维护性。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![text/x-c++](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)