C++新手提问: 请问这个是什么意思?尤其是单冒号右边的东东,谢谢 A::A(int i):a(i), r(a) { }

2025-02-28 14:33:38
推荐回答(5个)
回答1:

A::A(int i):a(i), r(a) { }
定义了一个类A,A(int i)为A的一个构造函数,后面的冒号表示赋值,就是a=i,r=a,a和r也应该是类中的成员。

回答2:

A为类名,A(int i)为A的一个构造函数,
a(i)是一种简写,就是a=i的意思,r(a)就是r=a的意思。 这部分相当于函数体,所以{ }中为空;
A::A(int i):a(i), r(a) { } 有个名字叫参数初始化表。

回答3:

实现类A的构造函数A::A(int);
a(i)是一种简写方式,意思是用i初始化类的数据成员a,相当于this->a = i;
r(a)意思同上

回答4:

构造函数,冒号右边是类成员初始化,先用i初始化成员a,再用a初始化成员r

回答5:

A::A(int i):a(i), r(a) { }
为类A的构造函数,如在初始化的时候使用 A my_A(5),则调用此构造函数,将i也就是5赋值给成员变量a,同时将成员变量a的值赋值给r!