全国2011年1月高等教育自学考试C++程序设计试题_第5页
来源:
考试网 [ 2011年12月10日 ] 【大 中 小】
50.在下面横线处填上求两个浮点数之差的cha函数的原型声明、调用方法。
#include<iostream>
using namespace std;
void main()
{
float a,b;
_________//函数cha的原型声明
a=12.5;
b=6.5;
float c=__________________; //调用函数cha
cout<<c<<endl;
}
float cha(float x,float y)
{
float w;
w=x-y;
return w;
}
五、程序分析题(本大题共4小题,每小题5分,共20分)
51.给出下面程序的输出结果。
#include<iostream.h>
template<class T>
class Sample
{
T n;
public:
Sample(T i){n=i;}
int operator==(Sample&);
};
template<class T>
int Sample<T>::operator==(Sample&s)
{
if(n==s.n)
return 1;
else
return 0;
}
void main()
{
Sample<int>sl(2),s2(3);
cout<<"sl与s2的数据成员"<<(sl==s2?"相等":"不相等")<<endl;
Sample<double>s3(2.5),s4(2.5);
cout<<"s3与s4的数据成员"<<(s3==s4?"相等":"不相等")<<endl;
}
52.给出下面程序的输出结果。
#include<iostream>
using namespace std;
template<class T>
T max(T ml,T m2)
{return(ml>m2)?ml:m2;}
void main() {
cout<<max(1,7)<< "\t"<<max(2.0,5.0)<<endl;
cout<<max(‘y',‘b')<< "\t"<<max("A","a")<<endl;
}
53.给出下面程序的输出结果
#include<iostream>
using namespace std;
class A {
public:
int x;
A(){}
A(int a){x=a;}
int get(int a){return x+a;} };
void main() {
A a(8);
int(A::*p)(int);
p=A::get;
cout<<(a.*p)(5)<<endl;
A*pi=&a;
cout<<(pi->*p)(7)<<endl; }
责编:snrvge