如何在初始化列表中初始化结构体

如题所述

第1个回答  推荐于2016-08-13
你好,试试这个。

C/C++ code

struct Point
{
int x;
int y;
Point(int x0,int y0)
{
x=x0;
y=y0;
}
};

class CTest
{
public:
CTest():
m_iCount(0), //将m_iCount初始化为0
m_Point(0,0) //这里应该怎么写,对于结构体?
{}

private:
int m_iCount;
Point m_Point;本回答被提问者和网友采纳
第2个回答  2016-04-05
C/C++ code

struct Point
{
int x;
int y;
Point(int x0,int y0)
{
x=x0;
y=y0;
}
};

class CTest
{
public:
CTest():
m_iCount(0), //将m_iCount初始化为0
m_Point(0,0) //这里应该怎么写,对于结构体?
{}

private:
int m_iCount;
Point m_Point;
第3个回答  2015-12-25
C/C++ code

struct Point
{
int x;
int y;
Point(int x0,int y0)
{
x=x0;
y=y0;
}
};

class CTest
{
public:
CTest():
m_iCount(0), //将m_iCount初始化为0
m_Point(0,0) //这里应该怎么写,对于结构体?
{}

private:
int m_iCount;
Point m_Point;
第4个回答  2016-04-12
艺术大师

第5个回答  2016-03-28
struct a a1 = {
.b = 1,
.c = 2
};

C++如何初始化结构体
1 使用构造函数。在C++中,struct可以当做类(class)来使用,同样支持成员函数,构造函数,析构函数。所以可以写对应的构造函数,实现自由初始化。2 定义时,按照成员变量位置,写初始化列表。如struct test中有成员int a, char b, 和float c,那么初始化一个变量可以写作 struct test t1 = {100, '...

如何对结构体变量进行初始化?
数组的初始化,需要通过一常量数据列表,对其数组元素分别进行初始化,形式如下:数据类型 数组名称〔数组长度〕={初始化值1,初始化值2,…, 初始化值n};例如,定义长度为5的整型数组,并对其初始化的语句如下:int A[5]={20,21,0,3,4};结构体变量的初始化方式与数组类似,分别给结构体的成员...

C++中结构体数组的初始化问题
第一个问题,不能这样初始化,需要 inflatable a={0};集合中至少需要1个元素方可作为初始化列表,专业会将name、volume、price的所有字节全部初始化为0。第二个问题,如果结构体包含有string a;那么就不能使用初始化列表初始化了。也就是说 inflatable a={0}会编译不成功,因为string类有构造函数,具...

C这样初始化不行,该怎样初始化?
1.初始化在成员列表后面 struct student { long num;... }stu[5]={ ... }; 2.定义一个结构体变量来初始化,你这里就写错了!struct student stu[5]={...};

c++结构体成员初始化
每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为:struct 位域结构名 { 位域列表 };其中位域列表的形式为:类型说明符 位域名:位域长度 例如:struct bs { int a:8...

C++ 在给结构体赋值时,其中几个参数不赋值,那这个几个参数的值是什么...
initializer list)来赋值。例如:上面的代码中,在给结构体赋值时,使用初始化列表将变量的值指定为0或null。这样,可以保证结构体的某些成员默认为0或null。总之,C++ 中在给结构体赋值时,未对结构体的某些成员赋值,这些成员的值是未定义的。如果希望某些成员默认为0或null,可以使用初始化列表来 ...

结构体大括号初始化原理是什么,为什么我加了一个构造函数后就无法用大...
添加了构造函数的struct相当于成员全部public的类。而类的实例化必须通过构造函数。而这句赋值编译器理解为将初始化列表{1001,10}转换成ClassBook对象,所以出错。

结构体中有string类型,如何初始化?
因为 string str; 的size大小未知,不能这样初始化 只有struct的size已知的情况下才能这样初始化或者赋值 string的定义typedef basic_string<char> string;aa.str="abc";

链表指针不能在结构体中初始化么
这个是规定,如果是C++的struct就是class,他的初始化至少放在构造函数初始化列表中 从内存来说,你声明的只是类型,而不是全局变量等预编译就分配的内存,所以不能初始化

结构体变量的定义及初始化
type define { int a;int b;char c ;} Example ;int main(){ \/\/先声明一个结构体的变量 然后用 变量名.成员们就能使用了 Example ee;ee.a = 1;ee.b = 2;ee.c ='c';printf("%d%d%c",ee.a,rr.b,ee.c);return 0;} ...

相似回答