QT 在类中使用结构体
时间: 2024-05-03 20:17:21 浏览: 174
结构体的运用
在 C++ 中,可以在类中使用结构体来组织数据。例如,我们可以定义一个名为 `Person` 的类,其中包含一个结构体 `Address`,用于存储一个人的住址信息。下面是一个示例代码:
```cpp
#include <iostream>
class Person {
public:
struct Address {
std::string street;
std::string city;
std::string state;
std::string zip;
};
Person(const std::string& name, const Address& address)
: name_(name), address_(address) {}
void print() {
std::cout << "Name: " << name_ << std::endl;
std::cout << "Address: " << address_.street << ", "
<< address_.city << ", " << address_.state
<< " " << address_.zip << std::endl;
}
private:
std::string name_;
Address address_;
};
int main() {
Person::Address address = {"123 Main St", "Anytown", "CA", "12345"};
Person p("John Doe", address);
p.print();
return 0;
}
```
在上述代码中,我们定义了一个 `Person` 类,其中包含了一个名为 `Address` 的结构体作为其成员变量之一。在 `Person` 的构造函数中,我们使用结构体 `Address` 来初始化 `Person` 的 `address_` 成员变量。我们还定义了一个 `print` 函数,以演示如何访问 `Person` 对象的结构体成员变量。
在 `main` 函数中,我们创建了一个 `Person::Address` 对象 `address`,并将其传递给 `Person` 构造函数以初始化 `Person` 对象 `p`。最后,我们调用 `p.print()` 函数以打印 `Person` 对象的信息。
阅读全文