问答题 使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示学生学号的类CStudentlD,但类CStudentlD的定义并不完整。 运行结果为: 学生的学号为:200805 学生名为:李伟 删除学生学号为:200805 请按要求完成下列操作,将类CStudentlD的定义补充完成: (1)定义class CStudentlD类的私有数据成员IDvalue表示学生的学号,为long型的数据。请在注释∥********1********之后添加适当的语句。 (2)完成默认构造函数CStudentlD的定义,使CStudentlD对象的默认值为:id=0,并把学生的学号赋给IDvalue,并输出“赋给学生的学号:”及学号。请在注释∥********2********之后添加适当的语句。 (3)完成默认析构函数CStudentlD的定义,使CStudentlD析构时输出“删除学号:”及学号。请在注释∥********3********之后添加适当的语句。 (4)完成默认构造函数CStudentlnfo的定义。对应两个默认参数:要求定义char stName[],其默认值为“no name”,定义long stlD,其默认值设为0,并使它们赋值给相应的类数据成员。请在注释∥********4********之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 #include #include C1asS CStudentID { ∥********1********定义私有数据成员 public: ∥********2********定义默认构造函数 { IDvalue=id; cout<<“学生的学号为: ”<
【正确答案】正确答案:(1)添加语句:long IDvalile; (2)添加语句:CStudentID(10ng id=0) (3)添加语句:~CStudentID() (4)添加语句:CStudent工nfo(char 8tName[]=“no na.me”,long stID=O):id(stID
【答案解析】解析:(1)第1个标识下完成CStudentlD类的私有数据成员IDvalue的定义,为long型的数据,因此第1个标识下应添加“longIDvalue;”o (2)构造函数完成类成员变量的初始化,构造函数名和类名一致,该构造函数带有一个参数id,其默认值为id=0,因此第2个标识下应添加“CStudentlD(long id=O)”。 (3)析构函数也和类名一致,并且在前面加“一”以和构造函数区分,析构函数没有参数,故第3个标识下应添加“~CStudentlD()”。 (4)CStudentlnfo包含的学生学号信息保存在类CStudentlD的实例中,可通过调用类CStudentlD的自定义构造函数初始化,第4个标识下应添加“CStudentlnfo(char stName[]=”no name",long stlD=0):id(stlD)”。