下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。
include<iostream. h>
inelude<iomanip, h>
template<class T>
class Array
{
T * elems;
int size;
public:
Array(int.s);
~Array()
T& operator[](int)
void perator=(T)
};
template<class T>
Array<T>::Array(int s)
size=s;
elems=new T[size]
for(int i=0;i<size;i++)
elems[i]=0
}
template<celass T>
Array<T>::~Array()
{
______
template <class T>
T& Array<T>::operator[](int index)
{
return elems[index];
}
template<class T>
void Array<T>::operator=(T temp)
{
for(int i=0;i<size;i++)
elems[i]=temp;
}
void main()
{
int i,n=26;
Array<int> arr1(n)
Array<char> arr2(n)
for(i=0;i<n;i++)
{ -.
arr1[i]='a'+i;
arr2[i]='a'+i;
}
cout<<"ASCII 字符"<<endl;
for(i=0;i<n;i++)
cout<<setw(8)<<arr1[i]<<setw(8)<<arr2[i]<<endl;
}
第1题:
下列关于析构函数的描述中,错误的是( )。
A.类中有且仅有一个析构函数
B.析构函数可以有形参
C.析构函数没有函数类型
D.析构函数对象消失时被自动执行
第2题:
本例中,在点类、圆类、圆柱体类中增加析构函数定义,如果析构函数体里为空(无任何语句),则不影响程序的运行结果。
第3题:
下列关于析构函数描述正确的是:
A.一个类中只能定义一个析构函数
B.析构函数名与类名不同(不考虑~符号)
C.析构函数只能定义在类内
D.析构函数可以有一个或多个参数
第4题:
下列关于构造函数和析构函数的描述,错误的是( )。
A.析构函数中调用虚函数采用静态联编
B.对虚析构函数的调用可以采用动态联编
C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数
D.构造函数可以声明为虚函数
第5题:
下列对析构函数的描述正确的是()
A.析构函数返回类型为void
B.析构函数无形参,也不能重载
C.析构函数体内必须包含delete操作
D.析构函数内不能包含循环