阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。 【说明】 设计一个评选优秀教师和学生的程序,其类结构如图6所示。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。 【程序】 #include<iostrea

admin2009-02-15  31

问题 阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。
   【说明】
   设计一个评选优秀教师和学生的程序,其类结构如图6所示。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。

【程序】
   #include<iostream.h>
   #include<stdio.h>
   enum boolean {False,True}
   class base
   {
       protected:
       char name[8];
       public:
            void getname() {cout<<"姓名:" ;cin>>name; }
           void printname() {cout<<"姓名:"<<name<<endU3
           virtual boolean isgood() =0;
   }
   class student:(1)  
   {
       int num;
       public:
           void getnum()
               cout<<"考试成绩:" cin>>num;
           boolean isgood() {return (2);{
   };
   class teacher:(3)   public base
       int num;
       public:
           void getnum()
               cout<<"每年发表论文数:" ;cin>>num;
           boolean isgood() {return  (4);}
   };
   void main()
       base* p[50];
       student * pstud;
       teacher * ptech;
       char ch;
       int count =0;
       do
           cout<<"输入教师(t)或学生(s):"
           cin>>ch;
           if(ch ==’s’)
       {
               pstud = new student;
               pstud ->getname();
               pstud ->getnum();
               p[count ++ ] = pstud;
       }
       else if(ch == ’t’)
       {
               ptech = newteacher;
               ptech - >getname( )
            ptech ->getnum();
           p[count++]=ptech;
       }
       else
           cout<<"输入错误<<endl;
           cout<<"继续输入码(Y/n)";
           cin>>ch;
      } while(ch == ’y’)
      for(int i=0;i<count;i++)
      {    
          if((5))    //若为优秀,则输出
          p->printname();
       }
   }

选项

答案(1)public base (2)(mum>90)? True:False (3)public base (4)(num>3)? True:False (5)p[i]->isgood()==True

解析 基类base中提供的一个纯虚函数作为判断类student和类 teacher的公共接口,且这两个类中都需要访问保护成员,所以(1)和(3)空中应填入的继承方式为“publi c base”。
   评选优秀教师和学生的标准不同,所以类student和类teache分别定义了各自的函数isgood(),优秀学生的标准为考试成绩超过90分,所以(2)空中应填入“(mum>90)?True:False”。优秀教师的标准为一年发表论文超过3篇,所以(4)空中应填人“(num>3)?True: False”。
   在主函数中指针数组P存放输入的数据,然后判断是否被评为优秀教师或学生。(5)空显然是要调用其函数isgood(),所以应填入“p->isgood()==True”。
转载请注明原文地址:https://kaotiyun.com/show/MbjZ777K
0

最新回复(0)