使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示学生学号的类StuID,但类StuID的定义并不完整。请按要求完成下列操作,将类StuID的定义补充完整,使程序的运行结果为 学生的学号为:20100401 学生名

admin2013-11-15  28

问题 使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示学生学号的类StuID,但类StuID的定义并不完整。请按要求完成下列操作,将类StuID的定义补充完整,使程序的运行结果为
    学生的学号为:20100401
    学生名为:张三
    删除学生学号为:20100401
    (1)定义StulD类的私有数据成员IDvalue,用于表示学生的学号,学号为long型的数据。请在注释1之后添加适当的语句。
    (2)完成默认构造函数StulD的定义,使StuID对象的默认值为:id=0,并把学生的学号赋给IDvalue,并输出“赋给学生的学号:”及学号。请在注释2之后添加适当的语句。
    (3)完成默认析构函数StuID的定义,使StulD析构时输出“删除学号:”及学号。请在注释3之后添加适当的语句。
    (4)完成默认构造函数Stulnfo的定义。对应两个默认参数:定义char stName[],其默认值为“no name”,定义longstID,期默值设为0,并使它们赋值给相应的类数据成员。请在注释4之后添加适当的语句。
    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
试题程序:
#include
#include
class StuID
{
  //********1********
  public:
  //********1********
  {
IDvalue=id;
cout<<"学生的学号为:"<}
//********3********
{
cout<<"删除学生学号为:"< }
};
class StuInfo
{
private:
StuID id;
char name[20];
    public:
  //********4********
  {
  cout<<”学生名为:"<  strcpy(name,stName):
}
);
void main()
{
StuInfo st("张三",20100401):
}

选项

答案(1)应添加“long IDvalue;”。 (2)应添加“StuID(long id=0)”。 (3)应添加“~StuID()”。 (4)应添加“Stulnfo(char stName[]="no name",long stID=O):id(stlD)”。

解析 本题中在第1处完成StuID类的私有数据成员IDvalue的定义,应为long型的数据,因此第1处应添加“long IDvalue;”。构造函数完成类成员变量的初始化,构造函数名和类名一致,该构造函数带有一个参数id,其默认值为id=0,因此第2处应添加“StuID(long id=0)”。析构函数也和类名一致,并且在前面加“~”以和构造函数区分,析构函数没有参数,故第3处应添加“~StuID()”。StuInfo包含的学生学号信息保存在类StuID的实例中,可通过调用类StulD的自定义构造函数初始化,第4处应添加“StuInfo(char stName[]="no name",long stlD=0):id(stID)”。
转载请注明原文地址:https://kaotiyun.com/show/SHNp777K
0

最新回复(0)