C++类内定义结构体 类外使用该结构体函数
时间: 2023-07-15 19:08:04 浏览: 459
c++结构体的定义和使用
在C++中,可以在类的内部定义结构体,并且在类的外部使用该结构体的函数。下面是一个示例:
```cpp
// 在类的内部定义结构体
class MyClass {
public:
struct MyStruct {
int data;
void displayData() {
std::cout << "Data: " << data << std::endl;
}
};
};
// 在类的外部使用结构体的函数
void modifyData(MyClass::MyStruct& myStruct, int newData) {
myStruct.data = newData;
}
int main() {
MyClass::MyStruct myObject;
myObject.data = 42;
myObject.displayData(); // 输出: Data: 42
modifyData(myObject, 99);
myObject.displayData(); // 输出: Data: 99
return 0;
}
```
在上述示例中,`MyClass` 类内部定义了一个名为 `MyStruct` 的结构体,并在结构体内部定义了一个名为 `displayData` 的函数。在类的外部,我们可以定义一个函数 `modifyData`,该函数接受一个 `MyClass::MyStruct` 对象的引用,并修改其中的数据成员。
在 `main` 函数中,我们创建了一个 `MyClass::MyStruct` 对象 `myObject`,并对其进行了初始化和修改。通过调用 `displayData` 函数,可以打印出结构体中的数据。
阅读全文