C++ 在C+中使用的默认值+;班
我一直在阅读一个代码,我对代码中的一行感到困惑: 以下是代码的一部分:C++ 在C+中使用的默认值+;班,c++,C++,我一直在阅读一个代码,我对代码中的一行感到困惑: 以下是代码的一部分: 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)];
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\u set:与类名相同的名称表示它是构造函数 (int nm0=9):参数列表。一个类型为
int
的参数是可选的。如果未通过,则此参数默认为值9
::开始
nm(nm0):成员nm
使用值nm0
{…}:构造函数主体的其余部分是这样的:你在问什么?是的,这是关于“:”语法的另一个问题。我还没有在我正在学习的C++书籍中找到这样的东西。不知道那是哪本书,但听起来不对。成员初始化是C++的重要组成部分,实际上对于<代码> const > >或引用成员是强制性的。也许你可以在书中或书中深入了解。谢谢你的回复。