关于c++类初始化的疑问

一:

class ID{
     public:
         ID(int id = 0){value=id;}
         ~ID()
     protected:
           int value;
};
class Student{
    protect:
        Student(char *pName="noName",int ssId=0)
        {   .....;
           ID id(ssId);
        }
    protected:
        int ssId;
        char name[20];
};
int main()
{ Student s("Randy",9818)}

二:

class ID{
     public:
         ID(int id = 0){value=id;}
         ~ID()
     protected:
           int value;
};
class Student{
    protect:
        Student(char *pName="noName",int ssId=0:id(ssId)
        {   .....;
           ID id(ssId);
        }
    protected:
        int ssId;
        char name[20];
};
int main()
{ Student s("Randy",9818)}

一中并没有成功把ID类的value赋值为9818

二中可以

想问问一二的差别在哪里,一为什么没有成功调用ID类的构造函数

hc茶
浏览 751回答 1
1回答

灯初上夜未央

图一与图二代码都是一样的
打开App,查看更多内容
随时随地看视频慕课网APP