}
2. #include
void f(int *a,int n) {int i=0,j=0; int k=0;
for(;i a[i]=a[n-i-1]; a[n-i-1]=k; } } void show(int a[],int n) {for(int i=0;i void main() {int p[5]; int i=0,n=5; for(;i<5;i++) {p[i]=i;} f(*p,n); show(p,n); 3. #include cout<<*p< 4. #include cout<<*p< 5. #include void fun(int i,int j) {x=i;y=j;} void show() {cout< void main() {A a1; a1.fun(2); a1.show(); } 四、完成程序题(本大题共5小题,每小题4分,共20分) 1. 完成下面类中成员函数的定义。 #include str(char *a) {set(a); } str & operator=(____) {delete st; set(a.st); return *this; } void show(){cout< void set(char *s)//初始化st {_____ strcpy(st,s); } }; void main() {str s1(\s1.show(),s2.show(); s2=s1; s1.show(),s2.show();} 2. 一个类的头文件如下所示,num初始化值为5,程序产生对象T,且修改num为10,并使用 show()函数输出num的值10。 #include static int num; public: Test(int); void show(); }; _________ Test::Test(int n) {num=n;} void Test::show() {cout< } 3. 下面是一个三角形三边,输出其面积C++程序,在下划线处填上正确的语句。 #include cout<<\________ if(a+b>c&&a+c>b&&c+b>a) {double l=(a+b+c)/2; _______ cout<<\} else cout<<\} void main() {area();} 4. 下面程序中Base是抽象类。请在下面程序的横线处填上适当内容,以使程序完整的输出为: Der1 called! Der2 called! #include _______________; }; class Der1:public Base {public: void display(){cout<<\}; class Der2:public Base {public: void display(){cout<<\}; void fun(______________) {p->display();} void main() {Der1 b1; Der2 b2; Base * p=&b1; fun(p); p=&b2; fun(p); } 5. 下面程序中用来求数组和。请在下面程序的横线处填上适当内容,以使程序完整的输出为:s=150。 #include ,并使程序,并使程序 public: Arr():a(0),n(0){} Arr(int *aa, int nn) {n=nn; a=new int[n]; for(int i=0;i ~Arr(){delete a;} _____________; {return *(a+i);} }; void main() {int b[5]={10,20,30,40,50}; Arr a1(b,5); int i=0,s=0; _____________ s+=a1.GetValue(i); cout<<\} 五、程序分析题(本大题共4小题,每小题1. 给出下面程序输出结果。 #include example(int b=5){a=b++;} void print(){a=a+1;cout < void main() {example x; const example y(2); x.print(); y.print(); } 2. 给出下面程序输出结果。 #include cout<<**p2< 3. 给出下面程序输出结果。 #include 5分,共20分)