多项选择题

请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2。此工程包含一个程序文件main.cpp,其中的Array是一个表示数组的模板类。Array的成员a用于指向存放数据的数组,size表示该数组的大小。此程序的输出结果应为:
8
29,20,33,12,18,66,25,14
66,33
注意:只能在画线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动//************found************。
//源程序
#include <iostream>
#include <cstdlib>
using namespace std;
template<class Type>
class Array//数组类
Type *a;
int size;
public:

Array(Type b[],int mm):size(mm)//构造函数
if(size<2) cout<<"数组长度太小,退出运行!\n";exit(1);
//************found************
a=______;//a指向申请的数组空间
for(int i=0; i<size; i++) a[i]=b[i];//************found************
~Array()______; //析构函数
void MaxTwo(Type& x1,Type& x2) const;//由x1和x2带回数组a中的两个最大值
//************found************
int Length() const______;//返回数组长度
Type operator[](int i) const
//下标运算符重载成员函数
if(i<0 || i>=size)cout<<"下标越界!"<<endl;exit(1);
return a[i];;
//由x1和x2带回数组a中的两个最大值
template<class Type>
void Array<Type>::MaxTwo(Type& x1,Type& x2) const //补充完整函数体的内容
//将数组a中头两个数据赋值给x1和x2,使得x1>=x2
//************found************
______(x1=a[0],x2=a[1]):(x1=a[1],x2=a[0]);
for(int i=2;i<size; i++)
if(a[i]>x1)x2=x1; x1=a[i];
else if(a[i]>x2) x2=a[i];
void main()
int s1[8]=29,20,33,12,18,66,25,14;Array<int> d1(s1,8);
int i,a,b;
d1.M axTwo(a,b);
cout<<d1.Length()<<endl;
for(i=0;i<7;i++) cout<<d1[i]<<",";
cout<<d1[7]<<endl;cout<<a<<","<<b<<endl;
热门 试题

问答题
请使用“答题 菜单或使用VC6打开考生文件夹proj1下的工程proj1。此工程包含程序文件main.cpp。程序中位于每个 ERROR************found************下的语句行有错误,请加以更正。更正后程序的输出应该是: 1958年3月23日比2001年11月5日更早 2001年11月5日比1958年3月23日更晚 2001年11月5日与2001年11月5日是同一日期 注意:只能修改每个 ERROR************found************下的那一行,不要改动程序中的其他内容。 源程序 #include <iostream> using namespace std; class Date int year; int month; int day; public: ERROR************found************ Date(int yyyy, int mm, int dd): yyyy(year),mm(month),dd(day) bool isLaterThan(Date dt) const 当前日期晚于日期dt时返回true if(year!=dt.year) return year>dt.year; if(month!=dt.month) return month>dt.month; return day>dt.day; bool isEarlyThan(Date dt) const 当前日期早于日期dt时返回true if(year!=dt.year) return year<dt.year; if(month !=dt.month) return month<dt.month; ERROR************found************ return day>dt.day; void showDate() const cout<<year<< 年 <<month<< 月 <<day<< 日 ; ; ERROR************found************ void compareDate(Date dt1 Date dt2) const if(dt1.isLaterThan(dt2)) dt1.showDate();cout<< 比 ;dt2.showDate();cout<< 更晚 <<endl; else if(dt1.isEarlyThan(dt2)) dt1.showDate();cout<< 比 ;dt2.showDate();cout<< 更早 <<endl; else dt1.showDate();cout<< 与 ;dt2.showDate();cout<< 是同一日期 <<endl; int main() Date dt1(1958,3,23),dt2(2001,11,5); compareDate(dt1,dt2); compareDate(dt2,dt1); compareDate(dt2,dt2); return 0: