OtherClass.h 中定义了private: QString csv_sdk_id; 我如何在 mainwindow.cpp 中为它赋值 “cat more”
时间: 2024-04-08 14:35:45 浏览: 97
inkscape.rar_QString_inkscape_inkscape qt
在`mainwindow.cpp`中无法直接为`OtherClass.h`中的私有变量`csv_sdk_id`赋值。私有变量只能在其所属的类内部访问和修改。如果您想在`mainwindow.cpp`中为`csv_sdk_id`赋值,可以提供一个公有成员函数或者构造函数来进行赋值操作。
以下是一个示例代码:
```cpp
// OtherClass.h
#include <QString>
class OtherClass
{
private:
QString csv_sdk_id; // 私有变量
public:
void setCSVSDKID(const QString& value); // 公有成员函数,用于设置私有变量的值
};
```
```cpp
// OtherClass.cpp
#include "OtherClass.h"
void OtherClass::setCSVSDKID(const QString& value)
{
csv_sdk_id = value; // 设置私有变量的值
}
```
```cpp
// mainwindow.cpp
#include "OtherClass.h"
void MainWindow::someFunction()
{
OtherClass otherObject;
otherObject.setCSVSDKID("cat more"); // 使用公有成员函数设置私有变量的值
qDebug() << "csv_sdk_id value:" << otherObject.getCSVSDKID();
}
```
在上面的示例中,我们在`OtherClass`中提供了一个公有成员函数`setCSVSDKID()`,用于设置私有变量`csv_sdk_id`的值。在`mainwindow.cpp`中,我们创建了一个`OtherClass`对象`otherObject`,然后通过调用`otherObject.setCSVSDKID("cat more")`来设置私有变量的值。
请注意,在`mainwindow.cpp`中,我们只能通过公有成员函数来访问和修改`OtherClass.h`中的私有变量。这样可以确保私有变量的封装性和代码安全性。
阅读全文