我都知道,c语言中结构体内部是不支持初始化的。如果要初始化结构体,可以在声明变量时进行初始化。例如:
struct Test{
int a;
char b;
double c;
};
Test test_1 = { 1, 'a', 0 };
然而c++中结构体内部在声明变量的同时可以声明函数,这为结构体内部初始化提供了很大的便利。
因此上面用例可以写成:
struct Test{
int a;
char b;
double c;
Test(){
a = 1;
b = 'a';
c = 0;
}
};
这为定义结构体时关于初始化问题提供了很大的便利。
以下是代码及运行结果:
#include<iostream>
using namespace std;
struct Test {
int a;
char b;
double c;
Test() {
a = 1;
b = 'a';
c = 0;
}
}Text_1;
int main() {
cout << Text_1.a << endl << Text_1.b << endl << Text_1.c;
return 0;
}
