首页 > 计算机等级考试
题目内容 (请给出正确答案)
[主观题]

下面是类Shape的定义:class Shape{public:virtual void Draw()=0;}下列关于Shape类的描述中,正确

下面是类Shape的定义: class Shape{ public: virtual void Draw()=0; } 下列关于Shape类的描述中,正确的是()。

A.类Shape是虚基类

B.类Shape是抽象类

C.类Shape中的Draw函数声明有误

D.语句“Shape s;”能够建立Shape的一个对象s

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“下面是类Shape的定义:class Shape{publi…”相关的问题
第1题
已知类定义如下,其中Shape 为基类, Circle 和Rectangle 分别Shape 的直接派生类, Square 为R
ectangle 的直接派生类和Shape 的间接派生类。请模仿Rectangle 类,写出Circle 类的所有成员函数。

/****************** 文件shape.h*************************/

const float PI=3.14159f; // 定义圆周率常量

class Shape // 几何图形抽象类

{

public:

virtual float GetPerimeter()=0; // 纯虚函数,计算周长

virtual float GetAre()=0; // 纯虚函数,计算面积

};

class Rectangle: public Shape // 矩形类

{

public:

Rectangle (float len,float wid):length(len),width(wid){}

~Rectangle (){}

float GetPerimeter() {return 2*(length width);} // 计算矩形周长

float GetAre() {return length*width;} // 计算矩形面积

private:

float length, width; // 矩形的长和宽

};

class Circle: public Shape // 圆类

{

public: // 在下面编写每个成员函数

private:

float rad; // 圆的半径

};

class Square: public Rectangle // 正方形类

{

public:

Square(float len): Rectangle(len,len){}

~Square(){}

};

点击查看答案
第2题
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】 某绘图系统存在Point、

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

【说明】

某绘图系统存在Point、Line、Square三种图元,它们具有Shape接口,图元的类图关系如图6-1所示。现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来,它提供的接口不能被系统直接使用。代码6-1既使用了XCircle又遵循了Shape规定的接口,既避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。代码6-2根据用户指定的参数生成特定的图元实例,并对之进行显示操作。

绘图系统定义的接口与XCircle提供的显示接口及其功能如下表所示:

阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】 某绘图系统存在Po

【代码6-1】

class Circle (1) {

private (2) pxc;

public Circle(){pxc=new (3) ;

}

public void display(){

pxc. (4) ;

}

}

【代码6-2】

public class Factory{

public (5) getShapeInstance(int type){ //生成特定类实例

switch(type){

case 0: return new Point ();

case 1: return new Rectangle () ;

case 2: return new Line () ;

case 3: return new Circle () ;

default: return null;

}

}

public class App{

public static void main (String argv[] )

if (argv. length != l) {

System. out.println ("error parameters !");

return;

}

inttype= (new Integer (argv[0])) .intValue (

Factory factory = new Factory () ;

Shape s;

s=factory, (6)

if (s==null) {

System.out.println ("Error get instance !" )

return;

}

s.display () ;

return;

}

}

点击查看答案
第3题
下面是类MyClass的定义,对定义中各语句描述正确的是()。class MyClass{private: intx,y, z;public

下面是类MyClass的定义,对定义中各语句描述正确的是()。 class MyClass { private: int x,y, z; public: void MyClass(int A) { x=a; } //① int f(int a, int B) //② { x=a; y=b; } int f(int a,

A.语句①是类MyClass 的构造函数的定义

B.语句②和③实现类成员函数的重载

C.语句④实现对类成员变量x的更新操作

D.语句①、②、③和④都不正确

点击查看答案
第4题
下面关于java中类的说法哪个是不正确的()。

A.类体中只能有变量定义和成员方法的定义,不能有其他语句

B.构造函数是类中的特殊方法

C.类一定要声明为public的,才可以执行

D.一个java文件中可以有多个class定义

点击查看答案
第5题
TestClass类定义如下:class TestClass{private:intid;char gender;char*phone;public:TestClass

TestClass类定义如下: class TestClass { private: intid; char gender; char*phone; public: TestClass ():id(0),gender('#'),phone(NULL){) TestClass(int no,char ge='#',char *ph=NULL) {id=no;gender=ge;phone=ph;} }; 下面类对象定义语句中错误的是()。

A.TestClass myObj(i);

B.TestClass myObj(2,"11101111155");

C.TestClass myObj(1,'m');

D.TestClass myObj;

点击查看答案
第6题
已知3个类R、S和T,类R中定义了一个私有方法F1和一个公有方法F2,类S中定义了一个公有方法F3,类S为
类R的派生类,类T为类S的派生类,它们的继承方式如下所示:

class S:public R{…};

class T:private S{…};

在关于类S的描述中正确的是(18),在关于类T的描述中正确的是(19)。

A.类S的对象可以访问F1,但不能访问F2

B.类S的对象可以访问F2,但不能访问F1

C.类S的对象既可以访问F1,也可以访问F2

D.类S的对象既不能访问F1,也不能访问F2

点击查看答案
第7题
已知3个类R、S和T,类R中定义了一个私有方法F1和一个公有方法F2;类S中定义了一个公有方法F3;类S为
类R的派生类,类T为类S的派生类。它们的继承方式如下所示:

class S: public R {…};

class T: private S {…};

在关于类S的描述中正确的是(45);在关于类T的描述中正确的是(46)。

A.类S的对象可以访问F1,但不能访问F2

B.类S的对象可以访问F2,但不能访问F1

C.类S的对象既可以访问F1,也可以访问F2

D.类S的对象既不能访问F1,也不能访问F2

点击查看答案
第8题
对于类定义:class A{public:virtual void funcl(){}void func2(){});class B:public A{public:vo

对于类定义: class A{ public: virtual void funcl(){} void func2(){} ); class B:public A{ public: voidfuncl(){cout<<“class Bfunc 1”<<endl;} virtual void func2(){cout<<“class B func 2”<<endl;} }; 下面正确的叙述是()。

A.A::func2()和B::funcl()都是虚函数

B.A::func2()和B::funcl()都不是虚函数

C.B::funcl()是虚函数,而A::func2()不是虚函数

D.B::funcl()不是虚函数,而A::func2()是虚函数

点击查看答案
第9题
对于类定义class A { public: virtual void funcl(){} void func2(){}};class D:public A{ publi

对于类定义 class A { public: virtual void funcl(){} void func2(){} }; class D:public A{ public: void funcl(){cout<< "class B rune 1"<<end1;} virtual void func2(){cout<< "class B func 2"<<end1;} }; 下面正确的叙述是 ______。

A.A::func2()和B::funcl()都是虚函数

B.A::func2()和B::funcl()都不是虚函数

C.B::func1()是虚函数,而A::func2()不是虚函数

D.B::func1()不是虚函数,而A::func2()是虚函数

点击查看答案
第10题
类MyClass的定义如下:class MyClass{public:MyClass(){}MyClass(int i){value=new int(i);}int*v

类MyClass的定义如下: class MyClass { public: MyClass(){} MyClass(int i){value=new int(i);} int*value; }; 若要对value赋值,则下面语句正确的是()。

A.MyClass my;my.value=10;

B.MyClass my;*my.value=10;

C.MyClass my;my.*value=10;

D.MyClass my(10);

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改