[说明] C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在以下[C+

题型:问答题

问题:

[说明]
C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在以下[C++程序]中定义了相应的类模板,使得对于任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。
[C++程序]
#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]; //没有越界提示

考点:计算机软件水平考试初级程序员初级程序员下午试题
题型:问答题

慢性肾炎患者近来少尿、嗜睡,血压200/140mmHg,血BUN29mmol/L,血钙2.1mmol/L,心电图示T波高尖,今日突然抽搐,意识丧失。

此患者紧急采取的措施是()

A.降压

B.呋塞米200mg,静脉推注

C.呼吸中枢兴奋剂

D.血液透析

E.强心

题型:问答题

治疗小儿惊风宜选()。

A、隔附子灸

B、非化脓灸

C、化脓灸

D、隔蒜灸

E、灯火灸

题型:问答题

下列实验操作正确的是(  )

A.

制取氧气

B.

C.

称量固体

D.

题型:问答题

外资企业的经营期限由外国投资者申报,由审查批准机关批准。期满需要延长的,应当在期满( )日以前向审查批准机关提出申请。审查批准机关应当在接到申请之日起( )天内决定批准或者不批准。

A.30 60
B.90 60
C.180 30
D.60 30

题型:问答题

时间序列

更多题库