在成员之间共享对象

Share object across members

本文关键字:对象 共享 之间 成员      更新时间:2023-10-16

我正在尝试使以下示例代码正常工作。我已经阅读了几个教程和问答,但我无法让它工作。很可能我对课程缺乏理解,但我边做边学。希望我不会冒犯任何人:-(

我正在研究串行端口通信,并且正在尝试使用此库的回调版本:http://www.webalice.it/fede.tft/serial_port/serial_port.html

具体问题在注释代码中。

更新 - 我想通了,下面的代码正在工作:-(

这是SerialPort.h文件:

#include "AsyncSerial.h"
class SerialPort
public:
    void portOpen();
    void portWrite();
private:
    CallbackAsyncSerial serial;
};

和串行端口.cpp:

#include "SerialPort.h"
void SerialPort::portOpen() {
// serial = CallbackAsyncSerial("COM1", 115200);  Doesn't work
serial.open("COM1", 115200);  //This works :-)
}
void SerialPort::portWrite() {
    serial.writeString("Hellon");
}
void main() {
    SerialPort objt;
    objt.portOpen();
    objt.portWrite();
}

感谢您的帮助!

"//How do I make the object "serial" accessible in the other members?">

使它本身成为成员变量

class SerialPort
public:
    void portSet();
    void portOpen();
    void portWrite();
private:
    CallbackAsyncSerial serial;
};

void SerialPort::portOpen() {
    serial = CallbackAsyncSerial("COM1", 115200);
}

为了使其他成员可以访问它,它应该是一个成员变量。这意味着在类 SerialPort 定义中声明它。