全国2011年1月高等教育自学考试C++程序设计试题_第4页
来源:
考试网 [ 2011年12月10日 ] 【大 中 小】
44.#include<iostream.h>
class point{private:float x;
public:void f(float a){x=a;}
void f(){x=0;}
friend float max(point& a,point& b);
};
float max(point& a,point& b)
{return(a.x>b.x)?a.x:b.x;}
main(){
point a,b;
a.f(2.2);b.f(3.3);
cout<<a.max(a,b);
}
45.#include<iostream.h>
template<class T>
class f{
private:T x,y;
public:void fl(T a,T b){x=a;y=b;}
T max(){return(x>y)?x:y;}
};
main(){
f a;
a.fl(1.5,3.8);
cout<<a.x<<a.y<<a.max()<<endl;
}
四、完成程序题(本大题共5小题,每小题4分,共20分)
46.完成下面类中的成员函数的定义。
class point
{
private:
int m,n;
public:
point(int,int);
point(point&);
};
point::point(int a,int b)
{
m=a:
_________=b;
}
point::point(_________)
{
m=t.m;
n=t.n;
}
47.下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。
#include<iostream>
using namespace std;
_________pi=3.14159;
void main()
{
double r;
cout<<"r=";
_________;
double l=2.0*pi*r;
double s=pi*r*r;
cout<<"\n The long is:"<<l<<endl;
cout<<"The area is:"<<s<<endl;
}
48.在下划线处填上缺少的部分。
#include<iostream>
#include<fstream>
using namespace std;
class complex
{
public:
int real;
int imag;
complex(int r=0,int i=O)
{
real=r;
imag=i;
}
};
complex operator+(_________,complex& b)
{
int r=a.real+b.real;
int i=a.imag+b.imag;
return_________;
}
void main()
{
complex x(1,2),y(3,4),z;
z=x+y;
cout<<z.real<<"+"<<z.imag<<"i"<<endl;
}
49.程序的输出结果如下:
1,9
50,30
请根据输出数据在下面程序中的下划线处填写正确的语句。
源程序如下:
#include<iostream>
using namespace std;
class base
{
private:
int m;
public:
base(){};
base(int a):m(a){}
int get(){return m;}
void set(int a){m=a;}
};
void main()
{
base*ptr=new base[2];
ptr->set(30);
ptr= _________;
ptr->set(50);
base a[2]={1,9};
cout<<a[0].get()<<","<<a[1].get()<<endl;
cout<<ptr->get()<<",";
ptr=ptr-1;
cout<<_________<<endl;
delete[]ptr;
}
责编:snrvge