题目详情
当前位置:首页 > 计算机考试 > 中级软件设计师
题目详情:
发布时间:2023-10-15 06:15:47

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

更多"【说明】 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"; } retur
[简答题][说明]
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 = tr
[简答题]【说明】 C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在程序6中定义了相应的类模板,使得对厂任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。 #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]; }; ~ArrayBody ( ) { delete[]
[简答题]【说明】 设计一个类模板SamPle用于对一个有序数组采用二分法查找元素下标。 【C++程序】 #include < iostream. h > #define Max 100 //最多元素个数 template < class T > class Sample { T A[Max]: //存放有序数序 int n: //实际元素个数 public Sample( ) { } //默认构造函数 Sample(T a[] ,int i); //初始化构造函数 int seek(T c); void disp( ) { for(int i=0;i <n;i ++) cout<<A[i] <<" "; cout<<endl: } } template < class T > Sample <T>: :Sample(T a[ ],int i) { n=i: for( intj =0;j < i;j ++ ) (1) ; } template < class T > int Sample < T >:: seek( T c) { int low =0,high = n-1 ,mid; while( (2) ) { mid = (low + high)/2; if( (3) ) return mid; else if( (4) ) low=mid+|; else (5) ; } return-1; } void main( ) { char a[ ] ="acegkmpwxz"; Sample < char > s(a, 1); cout<<"元素序列:" ;s. disp( ); cout<<"元素’g’的下标:"<<s. seek(’g’) <<endl; }
[填空题][说明]
设计一个类模板Sample用于对一个有序数组采用二分法查找元素下标。
[c++程序]
#include<iostream. h>
#define Max 100 //最多元素个数
template<class T>
class Sample

T A [Max]; //存放有序数序
int n; //实际元素个数
Public:
Sample //默认构造函数
Sample(T a[] ,int i); //初始化构造函数
int seek(T c);
void disp

for (int i=0; i<n; i++)
cout<<A [i]<<" ";
cout<<endl;

;
template<class T>
Sample<T>::Sample(T a[],int i)

n=I;
for (int j=0; j<I; j++)
(1) ;

template<class T>
int Sample<T>::seek(T c)

int low=0,high=n-1,mid;
while( (2) )

mid=(low+high)/2;
if( (3) )
return mid;
else if ( (4) )
low=mid+1;
else
(5) ;

return-1;

void main( )

char a[]="acegkmpwxz";
Sample<char>s(a,1.);
cout<<"元素序列:" ;s. disp( );
cout<<"元素’g’ 的下标: "<<s. seek(’g’)<<endl;


[填空题]运行异常经常有算术异常、空指针异常、 【10】 、数组负下标异常和数组索引越界异常。
[单项选择]在使用Dim语句定义数组时,在缺省情况卜数组下标的下限为( )。
A. 0
B. 1
C. F
D. 必须指定下标
[填空题]在使用Dim语句定义数组时,在默认情况下数组下标的下限为 【10】

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

截图扫码使用小程序[完全免费查看答案]
请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码