求助各位高手

appleseeker 2004-11-18 03:52:40
有代码如下,帮忙填5个空格~~~~~~


#include <iostream.h>
template <class T> class Array;
template <Class T> class ArrayBody {
 friend__(1)__;
 T* tpBody;
 int iRows,iColumns,iCurrentRow;
 ArrayBody(int iRsz,int iCsz){
  tpBody = __(2)__;
  iRows = iRsz;iColumns = iCsz;iCurrentRow = -1:
}
public:
 T& operator[](int j){
  bool row_error,column_error;
  row_error = column_error =false;
  try {
   if(iCurrentRow < 0 || iCurrentRow >= iRows)
    row_error = true;
   if(j<0 ||j>= iColumns)
    column_error = true;
   if(row_error == true || column_ error == true)
    __(3)__;
  }
  catch(char){
   if(row_error == true)
    cerr << "行下标越界[" << iCurrentRow << "]";
   if(column_error = true)
    cerr << "列下标越界[" << j << "]";
   cout << "\n";
  }
  return tpBody[iCurrentRow * iColumns + j];
 }
 ~Arraygody(){delete[]tpBody;}
};
template <class T> class Array {
 ArrayBody<T> tBody;
 public:
  ArrayBody<T> & operator[](int i) {
   __(4)__;
   return tBody;
  }
 Array(int iRsz,int iCsz):__(5)__ { }
 };
void main()
{
 Array<int> a1(10,20);
 Array<double> a2(3,5);
 int b1;
 double b2;
 b1 = a1[-5][10]; //有越界提示:行下标越界[-5]
 b1 = a1[10][15]; //有越界提示:行下标越界[10]
 b1 = a1[1][4];  //没有越界提示
 b2 = a2[2][6];  //有越界提示:列下标越界[6]
 b2 = a2[10][20]; //有越界提示;行下标越界[10]列下标越界[20]
 b2 = a2[1][4];  //没有越界提示
}
...全文
131 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzheng318 2004-11-18
  • 打赏
  • 举报
回复
Andy84920(你也不懂)
还差2000 还请你们多多包含! :)
御剑乐逍遥 2004-11-18
  • 打赏
  • 举报
回复
m_syb(编程浪子)的答案:
1、Array<T>
2、new T[iRsz * iCsz]
3、'e'
4、tBody.iCurrentRow = i
5、tBody(iRsz, iCsz)
是正确的。
御剑乐逍遥 2004-11-18
  • 打赏
  • 举报
回复
虽然不肯定,但是个人感觉 m_syb(编程浪子) 说的是对的!
Andy84920 2004-11-18
  • 打赏
  • 举报
回复
xuzheng318(forever C++) (老迈马甲NO.1)(学如逆水行舟,不进则退)

还差多少?成猩?
这么冲法.:)
m_syb 2004-11-18
  • 打赏
  • 举报
回复
看看这个答案对不对:
1、Array<T>
2、new T[iRsz * iCsz]
3、'e'
4、tBody.iCurrentRow = i
5、tBody(iRsz, iCsz)
xuzheng318 2004-11-18
  • 打赏
  • 举报
回复
顶了!
bulala 2004-11-18
  • 打赏
  • 举报
回复
对不起阿,我不小心提交了。一下为正解
1、class array;
2、new array();
3、throw("error")
4 tbody = this[i];
bulala 2004-11-18
  • 打赏
  • 举报
回复
1 class array
2 new T();
3 throw ("error")
4

65,186

社区成员

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

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