第五题

第五题
2010年07月07日
  课程设计题目、要求:
  设计一个通用数组类(主要针对数值型数据),设计相关成员以完成对数组的常用操作(如元素的添加、删除、访问、查找及数组排序等),并对>>、>的重载。还有排序。
  运行结果与分析:
  运行结果:
  1 2 3 4 5 6 7 8 9 0 (注:创建数组类aa,赋值0 到9,把第一个删了,就从1,到9了。)
  0 0 1 3 5 6 7 8 9 99(注:把aa赋值给bb,然后bb做了修改后排序,用cout>aa)
  3 4 5 6 9 1 2 3 5 6 (注:输出aa)
  越界了,小弟弟!请按任意键继续. . . (注:有越界提示的)
  总结(收获与体会):
  再次学习了一下运算符重载,> 重载要设置友元类。
  参考文献:无
  源程序:在Dev C++中运行!!!!在V C++6.0运行会出现这样的错误提示:error C2593: 'operator
  using namespace std;
  class IntArray
  {
  public:
  int *data;
  int _size;
  friend istream &operator >>(istream &,IntArray&);
  friend ostream & operator new int[_size];
  }
  ~IntArray() //析构
  {
  delete []data;
  }
  int &operator[](int i) //查找,修改和添加,因为返回引用
  {
  if(i_size-1) //越界检查
  {
  coutdelete []data;
  system("pause");
  exit(2);
  }
  return data;
  }
  int size()const
  {
  return _size;
  }
  void _delete(int i) //删除下表所在元素
  {
  if(i_size-1) //越界检查
  {
  coutdelete []data;
  system("pause");
  exit(2);
  }
  for(int k=i;koperator=(IntArray &n) //重载=
  {
  int i=0;
  int k=0;
  if(_size!=n._size)
  {
  coutdelete []data;
  delete []n.data ;
  system("pause");
  exit(2);
  }
  for(int j=0;jdata[j]) k=j;
  }
  if(k!=i)
  {
  int t=data;
  data=data[k];
  data[k]=t;
  }
  }
  }
  };
  istream & operator>>(istream &is,IntArray &n)
  {
  int i=0;
  while(i>n.data;
  i++;
  }
  return is;
  }
  ostream & operator >aa;
  cout<<aa;
  bb._delete(10);
  system("pause");
  return 1;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值