大家帮一下忙.

赵Andy 2008-10-20 11:34:01
编写一个类MyVector利用对象数组来实现一个可变长度的向量
public class MyVector{

//存放对象的数组
Object[] data
//构造函数
public MyVector();
public MyVector(int size);
//往向量中添加对象
public void add(Object o);
//取向量中对象个数
其中的object[] data我不太明白.
...全文
168 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
dfkjsdhfks 2008-10-21
  • 打赏
  • 举报
回复
对Java确实不太了解.
xxgamexx 2008-10-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 wode_dream 的帖子:]
编写一个类MyVector利用对象数组来实现一个可变长度的向量
public class MyVector{

//存放对象的数组
Object[] data
//构造函数
public MyVector();
public MyVector(int size);
//往向量中添加对象
public void add(Object o);
//取向量中对象个数
其中的object[] data我不太明白.
[/Quote]
[code=JAVA]
public class MyVector{
private Object[] data;
private int index=0;
public MyVector(){}
public MyVector(int size)
{
if(data!=null)
data=new Object[size];
}
public void add(Object o)
{
data[index]=o;
index++;
}
[/code]
我想是这样了。
xxgamexx 2008-10-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 wode_dream 的帖子:]
编写一个类MyVector利用对象数组来实现一个可变长度的向量
public class MyVector{

//存放对象的数组
Object[] data
//构造函数
public MyVector();
public MyVector(int size);
//往向量中添加对象
public void add(Object o);
//取向量中对象个数
其中的object[] data我不太明白.
[/Quote]
典型JAVA
public+class public+constructor



public class SimpleCollection {
private Object[] objArr;
private int index = 0;
public SimpleCollection()
{
objArr = new Object[10];
}
public SimpleCollection(int capacity) {
objArr = new Object[capacity];
}
public void add(Object o) {
objArr[index] = o;
index++;
}
public int getLength()
{
return index;
}
public Object get(int i)
{
return objArr[i];
}
}

P_ghost 2008-10-21
  • 打赏
  • 举报
回复
这已经不是第一次遇到java的发到c++区来了,如果是c++实现的话,就是和实现vector差不多,书上都有讲,java的话不太清楚了。
shuyisheng 2008-10-21
  • 打赏
  • 举报
回复
抢分
shuyisheng 2008-10-20
  • 打赏
  • 举报
回复
首先你得认识Object类,它支持 .NET Framework 类层次结构中的所有类,并为派生类提供低级别服务。这是 .NET Framework 中所有类的最终基类;
它是类型层次结构的根。
为怎么要用Object[]来初始化数组:
1、object支持各种不同数据类型转换,因为各种数据类型都可以通过object转换,就是所谓的装箱、折箱操作.
如int a=(object)a; //把对象a转换成一个整数a;
char c=(object)c; //把对象c转换成一个字符c;
==其它数据类型可以如些转换;把object引用型(类对象)转换为值(int,char)就叫做拆箱;
相反object a=(int)a; //把一个整数转换成一个对象object引用;
object c=(char)c; //把一个字符转换成一个对象object引用;这种操作叫做装箱;
2、object[] data;
用object[]来表示数组从1的那条可以知道,它支持各种数据类型的数组转换,具有通用性;
data就是一个object[]数据的一个变量名称啦,呵呵;

ForestDB 2008-10-20
  • 打赏
  • 举报
回复
Java?
wudeshou82666 2008-10-20
  • 打赏
  • 举报
回复
貌似是Csharp吧
hai040 2008-10-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sc_valentine21 的回复:]
貌似是Java,发错地方了吧
[/Quote]
public class MyVector
应该不是c++
sailing0123 2008-10-20
  • 打赏
  • 举报
回复
在具体应用中,当数组用比较多,
注意计数。
wangdeqie 2008-10-20
  • 打赏
  • 举报
回复

//节选《STL源码剖析》vector部分代码
class vector
{
public:
iterator start;//表示目前使用空间的头
iterator begin(){return start;};
reference operator[](size_type n)
{
return *(begin()+n);
}
};
sailing0123 2008-10-20
  • 打赏
  • 举报
回复
相当于一个指针,
在使用过程中动态增加对象,
记住在析构函数里释放内存
sc_valentine21 2008-10-20
  • 打赏
  • 举报
回复
貌似是Java,发错地方了吧
wangdeqie 2008-10-20
  • 打赏
  • 举报
回复
《STL源码剖析》里有vector实现源码的详解
赵Andy 2008-10-20
  • 打赏
  • 举报
回复
自己顶一下。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧