计算机二级

设有下面两个类的定义。 class Person { long id; // 身份证号 String name; // 姓名 } class Student extends Person { int score; // 入学总分 } intgetScore() { return score;} } 则类Person和类Student的关系是? }A.包含关系B.继承关系C.关联关系D.上述类定义有语法错误

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

A.包含关系

B.继承关系

C.关联关系

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

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有下列两个类的定义,则类Person和类Man的关系是( )。 class Person { long id; //身份证号 String name; //姓名 } class Man extends Person { int age; //年龄 int getAge() { return age; } }

A.包含关系

B.继承关系

C.关联关系

D.无关系,上述类定义有语法错误


正确答案:B
解析:本题主要考查Java中类的继承,通过在类声明中加入extends子句来创建子类,其格式为:class SubClass sextends SuperClass{},其中SubClass为子类名,SuperClass为父类名。

第2题:

给出下列的不完整的类代码,则哪个语句可以被加到横线处? ( ) class Person{ String name,department; int age; public Person(String n){name=n;} public Person(String n,int s){name=n; age=a;} public Person(String n,String d,int a){ department=d;______ } }

A.Person(n,a);

B.this(Person(n,a));

C.this(n,s);

D.this(name,age);


正确答案:C

第3题:

能将程序补充完整的选项是( )。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; ______ }} B.

A.i=m

B.i=b

C. i=p.a

D.i=p. change(50)


正确答案:D

第4题:

创建一个名为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'’。

第5题:

设有下面两个类的定义:classperson{longid;//身份证号stringname;//姓名}classstudentextendsperson{intscore;//入学总分intgetscore(){returnscore;}}则类person和类student的关系是_________。

A.关联关系

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

C.继承关系

D.包含关系


正确答案:C

第6题:

下列代码段声明了3个类:class Person();class Student:public Person{};class Undergraduate:Student{};下列关于这些类之间关系的描述中,错误的是( )。

A.类Person是类Undergraduate的基类

B.类Undergraduate从类Student公有继承

C.类Student是类Person的派生类

D.类Undergraduate是类Person的派生类


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

第7题:

使用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); 解析:本题考查考生对类的继承与派生的掌握,包括派生类对基类成员的访问和派生类构造函数的定义等知识点。注意派生类构造函数传递参数的功能。

第8题:

( 30 )下列代码声明了 3 个类

class Person{};

class Student:public Person{};

class Undergraduate:Student{};

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

A )类 Person 是类 Undergraduate 的基类

B )类 Undergraduate 从类 Student 公有继承

C )类 Student 是类 Person 的派生类

D )类 Undergraduate 是类 Person 的派生类


正确答案:B

第9题:

下列程序运行后的输出结果是( )。#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

第10题:

阅读下面代码 abstract class Person { public Person(String n) { name=n; } public______String getDescription(); public String getName() { return name; } private String name; } 在下画线处应填入的修饰符是

A.static

B.abstract

C.protected

D.final


正确答案:B

更多相关问题