使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整;按要求完成下列操作,将类的定义补充完整。 (1)完成构造函数的定义,请在注释∥********1********后添加适当的语句。 (2)定义类的友元函数fun

admin2020-06-29  52

问题 使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整;按要求完成下列操作,将类的定义补充完整。
    (1)完成构造函数的定义,请在注释∥********1********后添加适当的语句。
    (2)定义类的友元函数fun(),请在注释∥********2********后添加适当的语句。
    (3)定义类的友元函数main(),请在注释∥********3********后添加适当的语句。
    (4)补充语句,释放内存。请在注释∥********4********后添加适当的语句。
    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
Class TestClass
{
public:
∥********1********
    {
    data=d;
    next=NULL;
    }
    void SetNext(TestClass*p)
    {
    next=p;
    }
private:
    int data;
    TestClass*next;
∥********2********
∥********3********
  };
  TestClass*fun(TestClass*h)
  {
    TestClass    *t,*s,*u,*v;
    s=h一>next;
    h一>next=NULL;
    while(s!=NULL)
    {
    for(t=s,v=h; v!=NULL
&&V一>datadata;u=v,v=
V一>next);
    s=s一>next;
    if(v==h)
    h=t;
    else
    u一>neXt=v;
    t一>next=v:
    }
    return h;
}
void msin()
{
    TestClass*h=NULL;
    TestClass*q=NULL;
    do{
    int data;
    cout<<“Please  input a number,and end with 0”<    cin>>data;
    if(data=0)brea k;
    TestClass*p=  new
TestClass(data);
    if(h==NULL)
    {
    h=q=p;
    }
    else
    {
    q一>SetNext(p);
    q=p;
    }
    }while(1);
    h=fun(h);
    for(;h!=NULL;)
    {
    q=h一>next;
    cout<data<<“”<    delete h;
   ∥********4********
    }
    return;
}

选项

答案(1)添加语句:Testclass(int d) (2)添加语句: friend Testclas s*fun(TestClass*); (3)添加语句:friend void main(); (4)添加语句:h=q;

解析 本题的功能是将键盘输入的数字建立一个链表。在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的main主函数开始入手,可以看出程序通过调用类TestClass和函数fun实现各种输出操作。
转载请注明原文地址:https://kaotiyun.com/show/8O8p777K
0

最新回复(0)