现有:  interface Animal {       void eat () ;       }       //

题目
单选题
现有:  interface Animal {       void eat () ;       }       //insert code here       public class HouseCat extends Feline {       public void eat() { }       }  和五个申明  abstract class Feline implements Animal { }  abstract  class  Feline  implements  Animal  {  void eat () ;  }  abstract class Feline implements Animal { public void eat();}  abstract class Feline implements Animal { public void eat() {}  }  abstract class Feline implements Animal { abstract public void eat();} 结果为:()
A

1

B

2

C

3

D

4

参考答案和解析
正确答案: C
解析: 暂无解析
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 12 )有如下程序:

#include <iostream>

using namespace std

class Animal{

public:

virtual char* getType () const { return "Animal" ; }

virtual char* getVoice () const { return "Voice" ; }

};

Class Dog : public Animal {

public:

char* getType ( ) const {return "Dog" ; }

char* getVoice ( ) const {return "Woof"}

};

void type ( Animal& a ) {cout<<a.getType ( ) ; }

void speak ( Animal a ) {cout<<a.getVoice ( ) ; }

int main ( ) {

Dog d; type ( d ) ; cout<<" speak" ; speak ( d ) ; cout<<endi;

return 0;

}

运行时的输出结果是【 12 】 。


正确答案:

第2题:

使用VC6打开考生文件夹下的工程test19_1,此工程包含一个源程序文件test19_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

1:

weight:5

age:0

2:

weight:7

age:9

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

include <iostream.h>

class animal

{

public:

/**************** found *******************/

friend void setvalue(animal&,int);

/**************** found *******************/

void print()

protected:

int itsweight;

int itsage;

};

void animal::print()

{

cout<<"weight:"<<itsweight<<end1;

cout<<"age:"<<itsage<<end1;

}

void setvalue(animal &ta,int tw)

{

ta.itsweight=tw;

ta.ihsage=0;

}

void setvalue(animal &ta,int tw, int tn)

{

ta.itsweight=tw;

ta.itsage=tn;

}

void main()

{

/**************** found *******************/

animal peppy

setvalue(peppy,5);

cout<<"1:"<<end1;

peppy.print();

setvalue(peppy,7,9);

cout<<"2:"<<end1;

peppy.print();

}


正确答案:(1)错误:缺少友元函数的声明 正确:添加友元函数的声明friend void setvalue(animal &intint); (2)错误:viod print(); 正确:void print(); (3)错误:animal peppy 正确:animal peppy;
(1)错误:缺少友元函数的声明 正确:添加友元函数的声明friend void setvalue(animal &,int,int); (2)错误:viod print(); 正确:void print(); (3)错误:animal peppy 正确:animal peppy; 解析:(1)主要考查考生对于成员函数定义规则的掌握,成员函数必须先声明再使用,即使是友元函数也不例外;
(2)主要考查考生对于关键字的掌握,空类型的关键字应用"void";
(3)主要考查考生对于变量定义的掌握,该处缺少“;”。

第3题:

有如下程序: include using namespaee std;class Animal{ public: virtual char*g

有如下程序:

include<iostream>

using namespaee std;c lass Animal{

public:

virtual char*getType( )const{return"Animal";}

virtual char*getVoice( )const{return"Voice";}

};

class Dog:public Animal{

public:

char*getType( )const{return"Dog";}

char*getVoice( )eonst{return"Woof";}

};

void type(Animal&A) {cout<<a.getType( );}

void speak(Animal A) {eout<<a.getVoice( );}

int main( ){

Dog d;type(D) ;cout<<"speak";speak(D) ;cout< return 0;

}

程序的输出结果是______。


正确答案:Dog SpeakVoice
Dog SpeakVoice 解析:派生类继承基类,并重新定义了基类的虚函数。void type(Animal&A) 是对象引用作为函数参数,传递的是地址,是“地址调用”,故a.getType( )调用的是派生类重新定义后的get—Type( )成员函数。void speak(Animal A) 是对象作为函数参数,是“传值调用”,在进行函数调用时,将派生类对象赋值给基类对象。但是,对象a只能调用派生类继承自基类的成员。故在a.getVoice( )中调用的是基类的虚函数getVoice( ),打印“Voive”。

第4题:

public interface A {  String DEFAULT_GREETING = “Hello World”;  public void method1();  }  A programmer wants to create an interface called B that has A as its parent. Which interface declaration is correct?() 

  • A、 public interface B extends A {}
  • B、 public interface B implements A {}
  • C、 public interface B instanceOf A {}
  • D、 public interface B inheritsFrom A {}

正确答案:A

第5题:

interface Playable {

void play();

}

interface Bounceable {

void play();

}

interface Rollable extends Playable, Bounceable {

Ball ball = new Ball("PingPang");

}

class Ball implements Rollable {

private String name;

public String getName() {

return name;

}

public Ball(String name) {

this.name = name;

}

public void play() {

ball = new Ball("Football");

System.out.println(ball.getName());

}

}

这个错误不容易发现。


正确答案:

 

错。"interface Rollable extends Playable, Bounceable"没有问题。interface 可继承多个

interfaces,所以这里没错。问题出在interface Rollable 里的"Ball ball = new Ball("PingPang");"。

任何在interface 里声明的interface variable (接口变量,也可称成员变量),默认为public static

final。也就是说"Ball ball = new Ball("PingPang");"实际上是"public static final Ball ball = new

Ball("PingPang");"。在Ball 类的Play()方法中,"ball = new Ball("Football");"改变了ball 的

reference,而这里的ball 来自Rollable interface,Rollable interface 里的ball 是public static final

的,final 的object 是不能被改变reference 的。因此编译器将在"ball = new Ball("Football");"

这里显示有错。

第6题:

Given:10. interface Data { public void load(); }11. abstract class Info { public abstract void load(); }Which class correctly uses the Data interface and Info class?()()

A.

B.

C.

D.

E.

F.


参考答案:A

第7题:

有如下程序:

nclude<iostream>

using namespace std;

class Animal{

public:

virtual char*getType()const{return“Animal”;}

virtual char*getVoice()const{return“Voice”;}

};

class Dog:public Animal{

public:

char*getType()const{rgturn“Dog”;}

char*getVoice()const{retum“Woof”;}

};

void type(Animal&A){cout<<a.getType();}

void speak(AnimalA){cout<<a.getVoice();}

int main(){

Dog d.type(D);tout<<“speak”;speak(D);cout<<endl;

return 0;

}

运行时的输出结果是【 】


正确答案:Dog speak Voice
Dog speak Voice 解析:基类中有两个虚函数getType( )和getVoiee( ),在派生类中同样也有。函数type和speak的形参都是Animal类的对象,但是一个是引用调用,另一个不是。当用Animal的派生类Dog类定义的对象调用这两个函数时,type函数会转向:Dog类中的成员函数,而speak函数不会。

第8题:

下列程序片段中,能通过编译的是

A.public abstract class Animal{ public void speak();}

B.public abstract class Animal{ public void speak(){}}

C.public class Animal{ public abstract void speak();}

D.public abstract class Animal{ public abstract void speak(){}}


正确答案:A

第9题:

下列程序片段中,能通过编译的是( )。 A.public abstract class Animal{ public void speak;}S

下列程序片段中,能通过编译的是( )。

A.public abstract class Animal{ public void speak;}

B.public abstract class Animal{ public void speak{);}

C.public class Animal{ pubilc abstract void speak;}

D.public abstract class Animal{ pubile abstract void speak{};}


正确答案:A
A。【解析】Java中一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰(abstract类也可以没有abstract方法)。有abstract方法的父类只声明,由继承它的子类实现。所以选A。

第10题:

现有:  1.  interface Animal  f      2.    void eat();      3.    }      4.  5.  // insert code here      6.  7. public class HouseCat implements Feline  {      8.    public void eat()    {  }     9.  }  和以下三个接口声明:  interface Feline extends Animal  (  )  interface Feline extends Animal  {void eat();    }  interface Feline extends Animal  {void eat()    {  }  }   分别插入到第5行,有多少行可以编译?   

  • A、  0
  • B、  1
  • C、  2
  • D、  3

正确答案:C

更多相关问题