土壤学

向量分析[诊断]法 vector analysis

题目

向量分析[诊断]法 vector analysis

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

第1题:

给出下面的代码段,下面的哪些陈述为真? ( ) public void create() { Vector myVect; myVect=new Vector(); } Ⅰ:第2行的声明不会为变量myVect分配内存空间。 Ⅱ:第2行的声明分配一个到Vector对象的引用的内存空间。 Ⅲ:第2行语句创建一个Vector类对象。 Ⅳ:第3行语句创建一个Vector类对象。

A.Ⅱ、Ⅲ、Ⅳ

B.Ⅱ、Ⅲ、Ⅳ

C.Ⅰ、Ⅲ

D.Ⅰ、Ⅳ


正确答案:D
解析:本题是考查对Vector的应用和理解。要为一个新对象分配空间,必须执行new Xxx()调用,new调用执行以下的操作:首先为新对象分配空间并将其成员初始化为0或者null:执行类体中的初始化(如在类中有一个成员声明int a=10,在第1步后a=O,执行到第2步后 a=10);然后执行构造函数;最后变量被分配为一个到内存堆中的新对象的引用。

第2题:

使用VC6打开考生文件夹下的工程test13_3。此工程包含一个test13_.cpp,其中定义了类Vector,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。

(1)完成构造函数的定义,把数据成员size初始化为参数s的值,数据成员buffer指向动态申请的int型size大小的空间。请在注释“//**1**”之后添加适当的语句。

(2)完成拷贝构造函数的定义,注意解决多次删除的问题。请在注释“//**2**”之后添加适当的语句。

(3)完成成员函数elem的定义,该函数返回buffer的第ndx个元素的值,注意如果ndx超界,请输出“error in index”。请在注释“//**3**”之后添加适当的语句。

(4)完成析构函数的定义,要求先将字符d打印在屏幕上,再释放buffer指向的空间。请在注释“//**4**”之后添加适当的语句。

输出结果如下:

1234567891012345678910dd

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

源程序文件test13_3清单如下:

include<iostream.h>

include<stdlib.h>

class Vector

{

public:

Vector(int s=100);

Vector(Vector &v);

int &elem(int ndx);

void display();

void set();

~Vector();

protected:

int size;

int *buffer;

};

Vector::Vector(int s)

{

// ** 1 **

}

Vector::Vector(Vector &v)

{

// ** 2 **

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

{

*(buffer+i)=*(v.buffer+i);

}

}

int &Vector::elem(int ndx)

{

// ** 3 **

{

cout<<"error in index"<<endl;

exit(1);

}

return buffer[ndx];

}

void Vector::display()

{

for(int j=0;j<size;j++)

cout<<elem(i)<<endl;

}

void Vector::set()

{

for(int j=0;i<size;j++)

elem(j)=j+1;

}

Vector::~Vector()

{

// ** 4 **

}

void main()

{

Vector a(10);

Vector b(a);

a. set();

b. set();

a. display();

b. display();

}


正确答案:(1) size=s; buffer=new int[size]; (2) size=v.size; buffer=new int[size]; (3) if(ndxO||ndx>=size) (4) cout"d"endl; delete[]buffer;
(1) size=s; buffer=new int[size]; (2) size=v.size; buffer=new int[size]; (3) if(ndxO||ndx>=size) (4) cout"d"endl; delete[]buffer; 解析:本题主要考查考生对于类的构造函数与成员函数定义的掌握,注意(2)中赋值的应用,为了防止重复删除,不能直接将指针赋值,必须使用动态申请new建立一块新的空间,并且将原来对象的成员全部复制到新的空间中:(4)中对动态一维数组空间删除的时候,应该使用delete关键字,并不管原数组大小是多少,一律只写一对中括号“[]”加上变量名。

第3题:

●试题八

阅读以下说明和C++代码,将解答写入答题纸的对应栏内。

【说明】

源程序文件vectorClass.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整,并给出输出结果。

1.补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。

2.完成类vector的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员b和a。

3.完成类vector的友元函数friend double Multiply(vector &x,vector &y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值。

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

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

#include <iostream.h>

class vector

{

int a;

int b;

public:

vector( (1) ): (2)

{

}

void input(int x,int y)

{ (3)

}

void output()

{

cout<<'('<<a<<','<<b<<")"<<endl;

}

friend double Multiply(vector &x,vector &y);

};

double Multiply(vector &x,vector &y)

{

double c;

(4)

return c;

}

void main()

{

vector x(10,20),y;

double d;

y.input(2,3);

d=Multiply(x,y);

cout<<d<<endl;

}

程序输出结果是: (5) 。


正确答案:

●试题八

【答案】 (1)int x=0int y=0(2)a(x)b(y)(3)b=x a=y(4)c=x.a*y.a+x.b*y.b(5)70

【解析】注意参数默认值的书写方法。分别对ab赋值。注意赋值顺序,与构造函数的赋值不同。注意对象访问成员使用"."操作符。x.a=10y.a=3x.b=20y.b=2,所以c=70

 

第4题:

事件树分析法的英文全称是Fault Tree Analysis。


正确答案:错误

第5题:

下面是“二维向量” vector2D 的定义,其中作为成员函数重载的运算符“+”的功能是将两向量的分量x和y对应相加,然后返回作为相加结果的新对象。那么应该在横线上填入的语句是( )。 class vector2D { private: double x; //x分量 double y; //y分量 public: vector2D(double x0=0,double y0=0) :x(x0),y(y0) {} void show(cout<<' ('<<', '<<y<<') ';} _________________________; }; vector2D :: operator + (vector2D a) { return vector20(x+a.x,y+a.y); }

A.vector2D operator + (vector2D b)

B.vector2D operator + (vector2D &b)

C.void operator + (vector2D)

D.int operator + (vector2D b)


正确答案:A
解析:此题在类vector2D中将运算符“+”重载为成员函数,实现将两向量的分量x和y对应相加的功能。那么由题可知,在空格处填入的应当是运算符“+”重载函数的声明。根据运算符“+”重载函数在类体外的定义可知其声明语句为:vector2Doperator+(vector2DB)

第6题:

虫媒传播型(vector transfer)


正确答案:本类原虫需在媒介昆虫体内发育、繁殖至感染阶段,再经昆虫叮吸人、兽血液或组织液进行传播。

第7题:

给出下列的程序代码片段,下列的( )选项是不正确的。 ①public void create(){ ②Vector my; ⑧my=new Vector(); ④}

A.第二行的声明不会为变量my分配内存空间

B.第二行语句创建一个Vector类对象

C.第三行语句创建一个Vector类对象

D.第三行语句为一个Vector类对象分配内存空间


正确答案:B

第8题:

在现有的宏蜂窝仿真软件中,可以考虑()信息的影响

A.VeCtoR、height

B.veCtoR、height、buildiNg

C.VeCtoR、ClutteR

D.VeCtoR、height、ClutteR


参考答案:D

第9题:

The stages within the development phase of the software life cycle are ( 71 ).

A.design, analysis, implementation, and testing

B.analysis, design, implementation, and testing

C.analysis, design, testing, and implementation

D.design, analysis, testing, and implementation


正确答案:C

第10题:

Vector和ArrayList的主要区别是()

  • A、ArrayList内部基于链表,而Vector是基于数组的
  • B、Vector的大部分方法做了同步,而ArrayList没有同步
  • C、Vector是可串行化的,而ArrayList不是
  • D、Vector实现了RandomAccess,而ArrayList没有

正确答案:B

更多相关问题