C++结构体如何设置默认值?
作者:野牛程序员:2023-07-28 14:17:31 C++阅读 3131
在C++中,结构体并不支持直接设置成员的默认值。与类不同,C++结构体不能在定义时为成员变量设置默认值。如果想在创建结构体对象时设置成员变量的默认值,可以使用以下方法:
使用构造函数:可以在结构体内部定义构造函数,并在构造函数中为成员变量设置默认值。
#include <iostream>
using namespace std;
struct Point {
int x;
int y;
// 构造函数设置默认值
Point(int xVal = 0, int yVal = 0) : x(xVal), y(yVal) {}
};
int main() {
// 使用构造函数创建结构体对象并设置默认值
Point p1; // 默认值:x=0, y=0
Point p2(3, 5); // 自定义值:x=3, y=5
cout << "p1: x=" << p1.x << ", y=" << p1.y << endl;
cout << "p2: x=" << p2.x << ", y=" << p2.y << endl;
return 0;
}使用初始化列表(C++11及以上):在C++11及以上版本中,可以在创建结构体对象时使用初始化列表,为成员变量提供初始值。
#include <iostream>
using namespace std;
struct Point {
int x = 0;
int y = 0;
};
int main() {
// 使用初始化列表创建结构体对象并设置默认值
Point p1; // 默认值:x=0, y=0
Point p2 = {3, 5}; // 自定义值:x=3, y=5
cout << "p1: x=" << p1.x << ", y=" << p1.y << endl;
cout << "p2: x=" << p2.x << ", y=" << p2.y << endl;
return 0;
}无论是使用构造函数还是初始化列表,都可以为结构体的成员变量提供默认值。这样,当创建结构体对象时,如果没有显式地初始化成员变量,则会使用默认值来初始化它们。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c++函数默认参数
- 下一篇:c++静态对象什么时候初始化
