自考C++试题及答案(9套合集) 下载本文

2. #include

class T {protected: int p; public:

T(int m){p=m;} };

void main() { T a(10);

cout<

3. #include using namespace std; class Date; class Time {public:

Time(int h,int m,int s) {hour=h,minute=m,sec=s;} void show(Date & d); private:

int hour,minute,sec; };

class Date {public:

Date(int m,int d,int y) {month=m,day=d,year=y;} void Time::show(Date &); private:

int month,day,year; };

void Time::show(Date & d)

{cout<

void main()

{Time t1(9,23,50); Date d1(12,20,2008); t1.show(d1);

4. 输出最小值,有一处错误。 #include class Test {int a,b; int getmin()

{return (a

void setValue(int x1,int x2,int x3) {a=x1;b=x2;c=x3;} int GetMin(); };

int Test::GetMin() {int d=getmin(); return (d=d

void main() {Test t1;

t1.setValue(34,6,2);

cout<

5. 实现数值、字符串的交换。 #include #include using namespace std; template void Swap(T& a,T& b) {T temp;

temp=a,a=b,b=temp; }

void main() {int a=5,b=9;

char s1[]=\[]=\Swap(a,b); Swap(s1,s2);

cout<<\cout<<\}

四、完成程序题(本大题共5小题,每小题4分,共20分) 1. 在下划线处填上缺少的部分。

#include class A {int a,b; public:

_____;//定义构造函数,使参数i和j的默认值为0 {a=i;b=j;}//在函数体中用i初始化a,用j初始化b };

main() {A *p;

_____;//调用带参构造函数生成由p指向的动态对象 //使a和b成员分别被初始化为4和5 }

2. 在下面程序横线处填上适当内容,使程序执行结果为: S=2 S=5 S=9

#include void sum(int i) {static int s; _________;

cout<<\}

void main (void) {int i;

for (i=0;________) sum(i); }

3. 下面程序运行的结果是:5+10=15。 #include class Test { private: int x,y; public:

Test() {x=y=0;}

void Setxy(int x,int y) {______} void show(){______} };

void main() {Test ptr;

ptr.Setxy(5,10); ptr.show(); }

4. 完成下面类中成员函数的定义。 #include #include class Arr {protected: float *p;

int n;//数组大小(元素个数) public:

Arr(int sz=10) { n=sz;

p=new float[n]; }

~Arr(void) {

_________ }

int Getn(void) const {

return n; }

float & operator[](int i) {

________ }

void Print(); };

void Arr::Print() {int i;

for(i=0;i< this->Getn();i++) {if (i==0)

cout << endl;

cout<

cout<

void main() {Arr a(20);

for (int i=0;i

5. 请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为: 11,10 13,12

#include class A {int a; public:

A(int i=0){a=i;}

int Geta(){return a;}

void show(){cout<

class B {A a; int b; public:

B(int i,int j)_________ {}

void show(){cout<

void main()

{B b[2]={B(10,11),B(12,13)}; for(int i=0;i<2;i++) __________ }

五、程序分析题(本大题共4小题,每小题5分,共20分) 1. 给出下面程序输出结果。

#include class a {public:

a(int i=10){x=i;cout<<\int x; };

class b:public a {public:

b(int i):A(i){x=i;cout<<\private: a A; int x; };