This question already has answers here:
What is this weird colon-member (“ : ”) syntax in the constructor?
(12个答案)
5年前关闭。
我一直在阅读代码,但对代码中的一行感到困惑:
这是代码的一部分:
我不确定如何解释这一行“mom_set(int nm0 = 9):nm(nm0)”。你能解释一下吗?
(12个答案)
5年前关闭。
我一直在阅读代码,但对代码中的一行感到困惑:
这是代码的一部分:
class mom_set
{
public:
int nm;
int *mom_ind,*mode_off,*mode_count,**mode;
int n_mom,n_eff;
int order;
.......
.....
mom_set(int nm0=9):nm(nm0)
{ mom_ind=new int[(nm*2+1)*(nm*2+1)*(nm*2+1)];
mode_off=new int[3*nm*nm+1];
mode=new int*[3*nm*nm+1];
mode_count=new int[3*nm*nm+1];
clear();}
......
.....
};
我不确定如何解释这一行“mom_set(int nm0 = 9):nm(nm0)”。你能解释一下吗?
最佳答案
mom_set :与类名相同,表示它是构造函数
(int nm0 = 9):参数列表。类型为int
的一个参数,它是可选的。如果未传递,则此参数默认为9
值
::constructor initializer list的开头
nm(nm0):成员nm
初始化为值nm0
{...} :构造函数主体的其余部分
关于c++ - 在C++类中使用的默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31704253/
10-11 16:57