下列代码段声明了3个类: classPerson{); classStudent:publicPerson{}; classUndergraduate:Stud

题目

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

classPerson{);

classStudent:publicPerson{};

classUndergraduate:Student{);

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

A.类Person是类Undergraduate的基类

B.类Undergraduate从类Student公有继承

C.类Student是类Person的派生类

D.类Undergraduate是类Person的派生类

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

第1题:

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

A.类 Person是类Undergraduate的基类

B.类 Undergraduate从类Student公有继承

C.类 Student是类Person的派生类

D.类 Undergraduate是类Person的派生类


类 Undergraduate从类Student公有继承

第2题:

下列代码段声明了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。

第3题:

给出下列的不完整的类代码,则下列的哪个语句可以加到横线处? class Person { String name,department; int age; public Person( String n ){ name = n;} public Person( String n,int a ) { 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,a);

D.this(name,age);


正确答案:C
解析:在同一个类的不同构造方法中调用该类的其他构造方法需要使用this(…)的形式,而且必须是在构造方法的第一行调用,这个和普通方法重载调用的方式不同,普通方法可以直接使用方法名加参数来调用,而且调用位置没有限制,因此选项A)是不行的,选项B)的语法就是错误的,选项D)的错误在于在父类型的构造方法被调用前不能引用类的成员。构造方法是一个类对象实例化的开始,因此在构造方法中不能将成员作为参数引用。

第4题:

给出下面不完整的类代码,则横线处的语句应该为( )。 class Person { String name,department; int age; public Person (Strings) {name=s;} public Person (String s,int

A.{name=s;age=a;} public Person (String n,String d,intA){ __________ department=d; } }A)Person (n,A);

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

C.this(n,A);

D.this(name,age);


正确答案:C
解析:本题主要考查在同一个类的不同构造方法中调用该类的其他构造方法需要使用 this(…)的形式,而且必须是在构造方法的第一行调用。这个和普通方法重载调用的方式不同,普通方法可以直接使用方法名加参数来调用,而且调用位置没有限制,因此选项A是不行的,选项B的语法就是错误的,选项D的错误在于在父类型的构造方法被调用前不能引用类的成员。构造方法是一个类对象实例化的开始,因此在构造方法中不能将成员作为参数引用。

第5题:

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

第6题:

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

A.类Person是类Undergraduate的基类

B.类Undergraduate从类Student公有继承

C.类Student是类Person的派生类

D.类Undergraduate是类Person的派生类


正确答案:B
本题考查基类和派生类的逻辑关系,属于基础知汉,如果没有指明哪种继承方式,那么默认为私有继承,所以B选项错误。

第7题:

给出下列的不完整的类代码,则哪个语句可以被加到横线处? ( ) 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

第8题:

下列代码段声明了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。

第9题:

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

class Person{};

class Student:public Person{};

class Undergraduate:Student{};

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

A )类 Person 是类 Undergraduate 的基类

B )类 Undergraduate 从类 Student 公有继承

C )类 Student 是类 Person 的派生类

D )类 Undergraduate 是类 Person 的派生类


正确答案:B