类Teacher和Student是类Person的子类;     Person p;     Teacher t;     Student s;     //p, t and s are all non-null.     if(t instanceof Person) { s = (Student)t; }   最后一句语句的结果是:()A.将构造一个Student对象;B.表达式是合法的;C.表达式是错误的;D.编译时正确,但运行时错误。

题目

类Teacher和Student是类Person的子类;     Person p;     Teacher t;     Student s;     //p, t and s are all non-null.     if(t instanceof Person) { s = (Student)t; }   最后一句语句的结果是:()

A.将构造一个Student对象;

B.表达式是合法的;

C.表达式是错误的;

D.编译时正确,但运行时错误。


相似考题

1.阅读以下说明和java代码,将应填入(n)处的字句写在对应栏内。[说明]有若干教师,每个教师只有姓名,一个教师可以指导多名研究生;每名研究生有姓名和研究方向,程序最后输出每个教师指导的所有研究生的姓名和研究方向。[Java程序]public class Teacher {String name;int top=0;Student[] student=new Student[20];public Teacher() {}public Teacher(String name) { this.name=name;}boolean add(Student stu){int len=this.student.length;if (top<len-1) {this.student[top]=siu;(1);return true;}elsereturn (2);}void disp(){System.out.println(“指导老师"”+this.name);System.out.println(“研究生:”);for(int i=0;i<(3);i++){System.out.println(“姓名:”+this.student[i].name+“\t研究方向:”+this.student[i]. search);}}public static void main(String[] args){Teacher t[]={new Teacher(“李明”),new Teacher(“王华”)};Student s1 = new Student(“孙强”,“数据库”);Student s2 = new Student(“陈文”,“软件工程”);Student s3 = new Student(“章锐”,“计算机网络”);if(! t[0].add(s1)) {System.out.println(“每个老师最多只能指导20个学生!”);}if(! t[0].add(a2)) {System.out.println(“每个老师最多只能指导20个学生!”);}if(! t[1].add(s3)) {System.out.println(“每个老师最多只能指导20个学生!”);}for(int i=0;i<2;i++)(4);}}class (5) {String name;String search;public Student(){}public Student(String name,String search){this.name=name;this.search=search;}String getName(){return this.name;}String getSearch(){return this.search;}}

更多“类Teacher和Student是类Person的子类;     Person p;     Teacher t;     Student s;     //p, t and s are all non-null.     if(t instanceof Person) { s = (Student)t; }   最后一句语句的结果是:()”相关问题
  • 第1题:

    _______ is characteristics of good assessment for classroom purposes.

    A.The content of the assessment should match the teacher’s educational objectives

    B.The items should represent partial range of knowledge

    C.Expectations for student performance needn’t to be clear

    D.The assessment should involve extraneous factors


    正确答案:A

  • 第2题:

    使用VC6打开考生文件夹下的工程test4_3。此工程包含一个源程序文件test4_3.cpp,其对一个学校的教师和考生情况进行了描述。由于教师和考生之间有相同的信息,如姓名、年龄等,所以可抽象出一个基类person,考生类student和教师类teacher作为person类的派生类。请按要求完成下列操作,将程序中的类定义补充完整。

    (1)定义基类person的私有数据成员name和age,分别用于表示姓名和年龄,name为字符指针,age为血型的数据。请在注释“//**1**”之后添加适当的语句。

    (2)完成基类person的重载构造函数person(char *mint a)的定义,把数据成员name,age分别初始化为参数n,a的值,请在注释“//**2**”之后添加适当的语句。

    (3)根据主函数main中对s1的声明,定义派生类student的构造函数。在注释“//**3**”之后添加适当的语句。

    (4)完成派生类teacher成员函数void setinf(ehar *n,int a,char *d,char *1)的定义,其功能为记录教师的姓名、年龄、院,系与职称信息。请在注释“//**4**”之后添加适当的语句。

    输出结果如下:

    刘雷(45)destructor

    蒋军(23)destructor

    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

    源程序文件test4_3.cpp清单如下:

    include<iostream.h>

    class person

    {

    //**1**

    public:

    person(){}

    person(char *n,int a)

    {

    //**2**

    }

    void setname(char *n){name=n;)

    void setage(int a){age=a;}

    ~person(){cout<<name<<"("<<age<<")destructor"<<endl;)

    };

    class student:public person

    {

    char *department;

    int code;

    public:

    //**3**

    {

    department=d;

    code=c;

    }

    };

    class teacher:public person

    {

    char *department;

    char *level;

    public:

    teacher(){}

    void setinf(char *n,int a,char *d,char *1)

    {

    //**4**

    department=d;

    level=1;

    }

    };

    void main()

    {

    student s1("蒋军",23,"计算机学院",2);

    teacher t1;

    t1.setinf("刘雷",45,"计算机学院","教授");

    }


    正确答案:(1) char *name; int age; (2) name=n; age=a; (3) student(char *nint achar *dint c):persomn(na) (4) setname(n); setage(a);
    (1) char *name; int age; (2) name=n; age=a; (3) student(char *n,int a,char *d,int c):persomn(n,a) (4) setname(n); setage(a); 解析:本题考查考生对类的继承与派生的掌握,包括派生类对基类成员的访问和派生类构造函数的定义等知识点。注意派生类构造函数传递参数的功能。

  • 第3题:

    下列程序运行后的输出结果是( )。#include#includeusing namespace std;class Person{public:Person(string n):name(n) { cout<<'P'; }private:string name;};class Date{public:Date(int y=2012,int m=12,int d=21):year(y),month(m),day(d) { cout<<'D'; }

    private:int year,month,day;};class Student:public Person{public:Student(string n,int y,int m,int d,char c):birthday(y,m,d),sex(c),Person(n) { cout<<'S'; }private:Date birthday;char sex;};int main(){Student stu1("Zhang",1990,10,1,'F');return 0}

    A. S

    B.PS

    C.DPS

    D.PDS


    参考答案:D

  • 第4题:

    在下列程序的划线处应填入的语句是class Person { private int a;}public class Man extends Person{ public int b; public static void main (String arg []){ Person p=new Person(); Man t=new Man(); int i: }}

    A.i=w;

    B.i=b

    C.i=p.a;

    D.i=t.b;


    正确答案:D
    解析:选项A)w没有被声明过,不能使用。选项B)虽然b是类Man的public成员变量,但是在静态方法中不能使用类中的非静态成员。选项C)a是类Person的private成员,在类外不能直接引用。选项D)b是类Man的public成员变量,且是int 型,可以通过类的实例变量t用并赋值给一个int型变量。

  • 第5题:

    创建一个名为student的新类,保存新类的类库名称是mylib,新类的父类名是Person,正确的命令是( )。

    A.CREATE CLASS mylib OF student AS Pcrson

    B.CREATE CLASS student OF Person AS mylib

    C.CREATE CLASS student OF mylib AS Person

    D.CREATE CLASS Person OF mylib AS student


    正确答案:C
    C。【解析】格式为CREATECLASS新类名OF类库名称AS父类名。

  • 第6题:

    设有下面两个类的定义。 class Person { long id; // 身份证号 String name; // 姓名 } class Student extends Person { int score; // 入学总分 } intgetScore() { return score;} } 则类Person和类Student的关系是? }

    A.包含关系

    B.继承关系

    C.关联关系

    D.上述类定义有语法错误


    正确答案:B

  • 第7题:

    ( 33 ) 创建一个名为 student 的新类 , 保存新类的类库名称是 mylib, 新类的 父 类是 P erson, 正确的命令是

    A ) CREATE CLASS mylib OF student A s P erson

    B ) CREATE CLASS student OF P erson A s mylib

    C ) CREATE CLASS student OF mylib A s P erson

    D ) CREATE CLASS P erson OF mylib A s student


    正确答案:C

  • 第8题:

    Which of the following words in bold is pronounced with a falling tone?

    A.Have you finished your homework?
    B.Are you a student or a teacher?
    C.What's your first name?
    D.Isn't it beautiful?

    答案:C
    解析:
    考查句子语调。一般疑问句、否定疑问句用升调,以Wh开头的特殊疑问句一般用降调。选择疑问句or前面的词用升调.or后面的词用降调。故选C。

  • 第9题:

    类Teacher和Student是类Person的子类;      Person p;      Teacher t;      Student s;   //p, t and s are all non-null.   if(t instanceof Person) { s = (Student)t; }     最后一句语句的结果是:()

    • A、 将构造一个Student对象;
    • B、 表达式是合法的;
    • C、 表达式是错误的;
    • D、 编译时正确,但运行时错误。

    正确答案:D

  • 第10题:

    多选题
    定义字符数组正确的是()。
    A

    chars[]=Student;

    B

    chars[7]=Student;

    C

    chars[7]={’S’,’t’,’u’,’d’,’e’,’n’,’t’};

    D

    chars[]={Student};


    正确答案: C,B
    解析: 暂无解析

  • 第11题:

    多选题
    Which are syntactically valid statement at// point x?()     class Person {     private int a;  public int change(int m){  return m;  }     }  public class Teacher extends Person {     public int b;  public static void main(String arg[]){     Person p = new Person();     Teacher t = new Teacher();    int i;  // point x     }    }
    A

    i = m;

    B

    i = b;

    C

    i = p.a;

    D

    i = p.change(30);

    E

    i = t.b.


    正确答案: D,E
    解析: A:m没有被申明过,不能使用。 
    B:虽然b是类Teacher的public成员变量,但是在静态方法中不能使用类中的非静态成员。 
    C://a是类Person的private成员,在类外不能直接引用。 
    D://change(int m)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量。 
    E://b是类Teacher的public成员变量,且是int型,可以通过类的实例变量t引用并赋值给一个int型变量

  • 第12题:

    单选题
    对于下列代码: 1) class Person {   2} public void printValue(int i, int j) {//... }     3} public void printValue(int i){//... }    4} }   5) public class Teacher extends Person { 6} public void printValue( ) {//... }     7} public void printValue(int i) {//...}     8} public static void main(String args[]){     9} Person t = new Teacher( );     10} t.printValue(10);     11} } 第10行语句将调用哪行语句?()
    A

     line 2

    B

     line 3

    C

     line 6

    D

     line 7


    正确答案: B
    解析: 暂无解析

  • 第13题:

    It was an unpleasant task for the teacher to point out or hint at a student’s confusion in thought.(The Teacher as Dragon) ()

    此题为判断题(对,错)。


    正确答案:T

  • 第14题:

    设串s="student.",t=“good",则执行StrInsert(s,1,t)后,s为()。

    A."good student."

    B."good student"

    C."goodstudent"

    D."good teacher"


    参考答案:A

  • 第15题:

    创建一个名为student的新类,保存新类的类库名称是mylib,新类的父类是Person,正确的命令是

    A.CREATE CLASS mylib OF student As Pemon

    B.CREATE CLASS student OF Pe~on As mylib

    C.CREATE CLASS student 0F mylib As Pe~on

    D.CREATE CLASS Person OF mylib As student


    正确答案:C
    解析:建立类语句的格式为“CREATE CLASS类名OF类库名As父类”,题中要求新类的类库名称是mylib,父类是Person,因此,正确的命令是“CREATE CLASS student OF mylib As Person'’。

  • 第16题:

    设有下面两个类的定义: class Person{ long id // 身份证号 String name; //姓名 } class Student extends Person{ int score: //成绩 int getScore ( ) { return score; } } 则类Person和类Student的关系是( )。

    A.包含关系

    B.继承关系

    C.关联关系

    D.无关系


    正确答案:B

  • 第17题:

    下列代码段声明了3个类:

    classPerson{);

    classStudent:publicPerson{};

    classUndergraduate:Student{);

    下列关于这些类之间关系的描述中,错误的是( )。

    A.类Person是类Undergraduate的基类

    B.类Undergraduate从类Student公有继承

    C.类Student是类Person的派生类

    D.类Undergraduate是类Person的派生类


    正确答案:B
    B。【解析】类Undergraduate从类Student私有继承,继承方式缺省则默认是private。

  • 第18题:

    阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。

    【说明】

    本程序用于评选优秀教师和学生。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。其类结构如下图所示:

    【程序】

    include <iostream.h>

    include <stdio. h>

    class base

    {

    protected:

    char name[8];

    public:

    void getname(){cout<<"name:"; cin>>name;}

    void printname(){cout<<"name:"<<name<<endl;}

    (1)

    };

    class student: (2)

    {

    int num;

    public:

    void getnum()

    {cout<<"score:"; cin>>num;}

    bool isgood()

    {return (3) }

    };

    class teacher: (2)

    {

    int num;

    public:

    void getnum()

    {cout<<"paper:"; cin>>num;}

    bool isgood()

    {return (num>3)?true:false;}

    void main()

    {

    base *p[50];

    student *pstud;

    teacher *ptech;

    char ch;

    int count=0;

    do{

    cout<<"input teacher(t) or student(s):";

    cin>>ch;

    if(ch=='s')

    {

    pstud=new student;

    pstud->getname();

    pstud->getnum();

    p[count++]=pstud;

    }

    else if(ch=='t')

    {

    (4)

    ptech->getname();

    ptech->getnum();

    p[count++]=ptech;

    }

    else

    cout<<"input is wrong"<<endl;

    cout<<"continue to iput(y/n)?";

    cin>>ch;

    }while(ch=='y');

    for(int i=0;i<count;i++)

    if((5))

    p[i]->printname();

    }


    正确答案:(1)virtual bool isgood()=0; (2)public base (3)(num>90)?true:false; (4)ptech=new teacher; (5)p[i]->isgood()==true
    (1)virtual bool isgood()=0; (2)public base (3)(num>90)?true:false; (4)ptech=new teacher; (5)p[i]->isgood()==true 解析:本题考查C++中类的继承、虚函数和其他一些语法结构。
    题目要求本题的程序用于评选优秀教师和学生,在输入一系列教师或学生的记录后,能将优秀学生及教师的姓名列出来。根据题目中的图,对于学生来说,只要拿其考试成绩与90比较大小就可;对于老师来说,只要一年内发表的论文超过3篇就可以。
    下面我们来分析代码。代码给出了三个类的定义和一个主函数,类base是类student和类teacher的基类。
    第(1)空处在基类base的定义里面,结合题目中的要求,我们知道类base中需要定义一个isgood()虚函数,但在类base的代码中并没有看到对虚函数isgood()的定义,因此,第(1)空应该是定义虚函数isgood()。在C++中定义虚函数的方法是在函数的定义前加一个关键字virtual,所以,此空应填virtual bool isgood()=0。
    第(2)空处的作用很明显,是用在继承类的定义时,表明其对父类的继承方式,由继承类中继承父类的成员方法getname()仍然是公有的可以知道,子类对父类的继承方式是公有继承。所以,此空答案为public base。
    第(3)空处的作用是在类student中重新定义虚函数isgood(),其要完成的任务在上面分析中已经知道,拿学生的考试成绩与90比大小,如果大于90返回true,否则返回 false。因此,此空答案为(num>90)?true:false。
    在做第(4)空时,我们如果结合前面那个订语句下面的代码就很容易明白了,此空要完成的任务是动态创建一个teacher对象,因此,答案为ptech=new teacher。
    第(5)空所在的位置是一个条件选择语句的条件,再结合全程序来看,不难发现此时程序还没有实现对优秀学生及教师的姓名的列出,而第(5)空下面的语句刚好用来列出姓名,那么第(5)空的功能是判断是否为优秀学生或老师,调用函数isgood()可以实现。因此,此空答案为p[i]->isgood()==true。

  • 第19题:

    What is the teacher doing in terms of error correction?
    S: I go to the theatre last night.
    T: You go to the theatre last night?

    A.Correcting the student's mistake.
    B.Hinting that there is a mistake.
    C.Encouraging peer correction.
    D.Asking the student whether he really went to the theatre.

    答案:B
    解析:
    考查课堂纠错行为。教师是在暗示学生的话里有错误。

  • 第20题:

    对于下列代码: 1) class Person {   2} public void printValue(int i, int j) {//... }     3} public void printValue(int i){//... }    4} }   5) public class Teacher extends Person { 6} public void printValue( ) {//... }     7} public void printValue(int i) {//...}     8} public static void main(String args[]){     9} Person t = new Teacher( );     10} t.printValue(10);     11} } 第10行语句将调用哪行语句?()

    • A、 line 2
    • B、 line 3
    • C、 line 6
    • D、 line 7

    正确答案:D

  • 第21题:

    单选题
    The teacher-student _____ in China’s universities is much lower than that in the U.S.
    A

    rate

    B

    rank

    C

    ratio

    D

    range


    正确答案: A
    解析:
    句意:中国大学的师生比例远远低于美国。ratio两个数字或量的比,如本句的“师生比例”。rate常与速度有关,并且不是两个数字的比,它体现在一个“每”字上,如“每小时30公里”。

  • 第22题:

    单选题
    What is the teacher doing in terms of error correction?“ S: I go to the theatre last night.”T: You GO to the theatre last night?A.Correcting the student’s mistake.B.Hinting that there is a mistake.C.Encouraging peer correction.D.Asking the student whether he really went to the theatre.
    A

    A

    B

    B

    C

    C

    D

    D


    正确答案: B
    解析:

  • 第23题:

    单选题
    创建一个名为student的新类,保存新类的类库名称是mylib,新类的父类是Person,正确的命令是(  )。
    A

    CREATE CLASS mylib OF student As Person

    B

    CREATE CLASS student OF Person As mylib

    C

    CREATE CLASS student OF mylib As Person

    D

    CREATE CLASS Person OF mylib As student


    正确答案: C
    解析:
    使用CREATE CLASS命令可以创建新的类库,基本格式为:CREATE CLASS新类名OF新类库名As父类。

  • 第24题:

    单选题
    类Teacher和Student是类Person的子类;      Person p;      Teacher t;      Student s;   //p, t and s are all non-null.   if(t instanceof Person) { s = (Student)t; }     最后一句语句的结果是:()
    A

     将构造一个Student对象;

    B

     表达式是合法的;

    C

     表达式是错误的;

    D

     编译时正确,但运行时错误。


    正确答案: C
    解析: 暂无解析