首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的工程test13_3。此工程包含一个test13_.cpp,其中定义了类Vector,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)完成构造函数的定义,把数据成员size初始化为参数s的值,数据成员bu
使用VC6打开考生文件夹下的工程test13_3。此工程包含一个test13_.cpp,其中定义了类Vector,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)完成构造函数的定义,把数据成员size初始化为参数s的值,数据成员bu
admin
2009-01-15
47
问题
使用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(ndx<O||ndx>=size) (4) cout<<"d"<<endl; delete[]buffer;
解析
本题主要考查考生对于类的构造函数与成员函数定义的掌握,注意(2)中赋值的应用,为了防止重复删除,不能直接将指针赋值,必须使用动态申请new建立一块新的空间,并且将原来对象的成员全部复制到新的空间中:(4)中对动态一维数组空间删除的时候,应该使用delete关键字,并不管原数组大小是多少,一律只写一对中括号“[]”加上变量名。
转载请注明原文地址:https://kaotiyun.com/show/RKID777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如果一组数据完全平衡,那么这组数据的离均差的总和为()
因子分析的基本步骤包括()
事后检验常用的方法有()
在回归方程中,假设其他因素保持不变,当X与Y相关趋近于0时,估计的标准误()
已知某次学业成就测验的平均分数是80,标准差为4。如果某考生得分为92,则该分数转换为标准分后是()
被称为教育学上的三个里程碑是指柏拉图的《理想国》、()的《爱弥儿》、杜威的《民主主义与教育》。
关于教育劳动起源说的主要观点,下列说法错误的是
根据教育的定义,下列哪一个选项不是教育活动?
简述教育的政治功能。
设f(χ)=,且g(χ的一个)原函数为ln(χ+1),求∫01f(χ)dχ.
随机试题
有下列哪些情形债务人可以向受让人主张抵销:()
小肠腺由________、________、________、________和________细胞组成。其中具有免疫防御功能的是________。
肝硬化时,人体内转氨酶变化为
基牙为二类导线,采用哪类卡环
肾上腺素的升压作用可被下列哪类药物所翻转
代理人接受委托与第三方签订经济合同过程中,应()。
水工建筑物地基可分为软基和()。
某大型国有煤炭企业经国家批准改制为甲国有独资公司。因公司未设股东会,经国有产监督管理机构授权,公司董事会行使股东会的部分职权。董事会一共7名成员,均由国有资产监督管理机构从另一大型国有煤炭企业调派,董事会直接决议由董事张某兼任经理。根据《公司法》的规定.下
设f(x)在(一∞,+∞)有一阶连续导数,且f(0)=0,f”(0)存在.若求F’(x),并证明F’(x)在(一∞,+∞)连续.
以下各项关于微内核(microkernel)操作系统的说法,正确的是()。
最新回复
(
0
)