类如何使用结构体初始化进行声明
时间: 2023-08-11 12:38:26 浏览: 121
浅谈C语言中结构体的初始化
5星 · 资源好评率100%
在C++中,类的定义可以使用结构体初始化的方式进行声明和初始化。具体方式类似于C语言中对结构体的初始化方式,只需要将类的成员变量和成员函数放在花括号之间,然后在花括号后面加上初始化的值即可。例如,考虑下面的类定义:
```c++
class Person {
public:
std::string name;
int age;
double height;
void print() {
std::cout << "Name: " << name << ", Age: " << age << ", Height: " << height << std::endl;
}
};
```
可以使用结构体初始化的方式来声明并初始化一个Person类的对象:
```c++
Person p1 = {"John Smith", 25, 1.75};
p1.print(); // 输出 Name: John Smith, Age: 25, Height: 1.75
```
在上述代码中,使用了花括号括起来的初始值列表来对Person类的对象p1进行初始化。成员初始值列表按照类定义中成员的顺序进行初始化,因此第一个初始值对应name成员,第二个初始值对应age成员,第三个初始值对应height成员。
需要注意的是,使用结构体初始化的方式进行类的声明和初始化时,需要确保类的构造函数是公共的(public),否则可能会出现访问权限异常。另外,使用结构体初始化的方式初始化类对象时,只能初始化公共成员变量,不能初始化私有成员变量或常量成员变量。
阅读全文