求助 c++类组合 疑问
[color=DeepSkyBlue]#include"iostream.h"#include"string.h"
class StudentID
{public:
StudentID(int id=0)
{value=id;[size=5][size=4][/size]
cout<<"assigning student id"<<value<<endl;
}
~StudentID()
{cout<<"Destructing id"<<value<<endl;
}
protected:
int value;
};
class Student
{public:
Student(char *pname="noname",int ssID=0)
{cout<<"construcing"<<pname<<endl;
strcpy(name,pname);
name[sizeof(name)-1]='\0';
StudentID id(ssID);
}
protected:
char name[20];
StudentID id;
};
void main()
{
Student s("randy",9818);
}
我的问题是这样的 当Student对象s建立时 调用Student类构造函数
第一 先初始化student类数据成员char name[20];
第二 初始化student类数据成员StudentID id;时候
没有StudentID类的默认构造函数都能编译 这是总么回事????
那位大哥帮小弟说说 详细的初始化过程[/size][/color]