C++练习题(摘自自学考试).pdf

上传人:无*** 文档编号:90863520 上传时间:2023-05-18 格式:PDF 页数:82 大小:10.06MB
返回 下载 相关 举报
C++练习题(摘自自学考试).pdf_第1页
第1页 / 共82页
C++练习题(摘自自学考试).pdf_第2页
第2页 / 共82页
点击查看更多>>
资源描述

《C++练习题(摘自自学考试).pdf》由会员分享,可在线阅读,更多相关《C++练习题(摘自自学考试).pdf(82页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C+程序设计练习题1一、单项选择题1.对 C+语言和c 语言的兼容性,描述正确的是()A.C+兼 容 C B.C+部分兼容CC.C+不兼容C D.C 兼 容 C+2.在 C+中使用流进行输入输出,其中用于屏幕输出的对象是()A.cerr B.cinC.cout D.cfile3.对使用关键字new所开辟的动态存储空间,释放时必须使用()A.free B.createC.delete D.realse4.如没有使用成员访问权限关键字定义类的数据成员,则默认为()A.private B.publicC.protected D.friend5.使用值传递方式将实参传给形参,下列说法正确的是()A.形

2、参是实参的备份 B.实参是形参的备份C.形参和实参是同一对象 D.形参和实参无联系6.在函数调用时,如某一默认参数要指明一个特定值,则 有()A.其之前所有参数都必须赋值 B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值 D.其前、后所有参数都不必赋值7.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()A.int m=max(22,max(59,70);B.int m=max(max(22,59),70);C.int m=max(22,59,70);D.int m=max(59,max(22,70);8.下列哪个

3、类型函数不适合声明为内联函数()A.函数体语句较多B.函数体语句较少C.函数执行时间较短D.函数执行时间过长9.int Func(int,int);不可与下列哪个函数构成重载()A.int Func(int,int,int);B.double Func(int,int);C.double Func(double,double);D.double Func(int,double);10.对类中声明的变量,下列描述中正确的是()A,属于全局变量 B.只属于该类C.属于该类,某些情况下也可被该类不同实例所共享D.任何情况下都可被该类所有实例共享11.类的私有成员可在何处访问()A.通过子类的对象访问

4、C.通过该类对象访问B.本类及子类的成员函数中D.本类的成员函数中12.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是()A.编译器总是自动创建一个不带参数的构造函数B.这个类没有构造函数C.这个类不需要构造函数D.该类不能通过编译13.一个类可包含析构函数的个数是()A.0 个C.至少一个B.1个D.0 个或多个14.this指针存在的目的是()A.保证基类公有成员在子类中可以被访问B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C.保证基类保护成员在子类中可以被访问D.保证基类私有成员在子类中可以被访问15.下列关于类的权限的描述错误的是()A.类本身的成员函数

5、只能访问自身的私有成员B.类的对象只能访问该类的公有成员C.普通函数不能直接访问类的公有成员,必须通过对象访问D.一个类可以将另一个类的对象作为成员16.在编译指令中,宏定义使用哪个指令()A.#includeB.#defineC.#if D.#else17.设类A 将其它类对象作为成员,则建立A 类对象时,下列描述正确的是()A.A 类构造函数先执行C.两者并行执行18.下列描述错误的是()A.在创建对象前,静态成员不存在C.静态成员函数不能是虚函数19.对于友元描述正确的是()A.友元是本类的成员函数C.友元不是函数B.成员构造函数先执行D.不能确定B.静态成员是类的成员D.静态成员函数不

6、能直接访问非静态成员B.友元不是本类的成员函数D.友元不能访问本类私有成员2 0.在哪种派生方式中,派生类可以访问基类中的protected成 员()A.public 和 private B.public 和 protectedC.protected 和 private D.仅 protected二、填空题2 4.定义虚函数所用的关键字是virtual。27.类的继承是指子类继承基类的成员变量和成员函数。28.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为多态29._#inc加d e_ 指令指示编译器将一个源文件嵌入到带该指令的源文件之中。30.设类A 有成员函数voidFu

7、n(void);若要定义一个指向类成员函数的指针变量pafn来指向Fun,该指针变量的声明语句是:_ void(A:*pafn)(void);_。31.设在程序中使用如下语句申请了一个对象数组:Point*ptr=newPoinU2;则在需要释放ptr指向的动态数组对象时,所使用的语句是delete ptr;。32.在保护派生中,基类权限为Private的成员在派生类中不可访问33.类 A 有如下成员函数int A:fun(double x)return(int)x/2;int A:fun(int x)return x*2;设 a 为类A 的对象,在主函数中有int s=a.fun(6.0)+

8、a.fun(2),则执行该语句后,s 的值为7_。34.对象传送的消息一般由3 部分组成:接收对象名、调用操作名和一参数一。35.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的一地址37.在 C+中,声明布尔类型变量所用的关键字是_ b o o l_。40.C+语言中可以实现输出一个换行符并刷新流功能的操控符是_ e n d l_。三、改错题(下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见)41.#includevoid main()int x=5,y=6;const int*p=&x;修改意见:去掉本句或去掉上句中的constcout*pendl;42.#inc

9、ludeclass f private:int xf y;public:f l()x=0;y=0;print()co u t x?,y e n d l;);void main()f a;修改意见:本 句 改 为 或 修 改 成 员 函 数 成 的 定 义a.print();44.#includeclass pointprivate: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.xb.x)?a.x:b.x;voi

10、d main()point a,b;a.f(2.2);b.f(3.3);coutvva.mac b);修改为:coutvvmax(a、b);)四、完成程序题46.完成下面类中的成员函数的定义。class point(private:int m,n;public:point(inty int);point(point&););point:point(int a,int b)m=a;n=b:point:point(point&t)(m=t.m;n=t.n;47.下面是一个输入半径,输出其面积和周长的C+程序,在下划线处填上正确的语句。#includeusing namespace std;gons

11、t doublg pi=3.l4159;void main()double r;cou t r=;cin r;double l=2.0*pi*r;double s=pi*r*r;cout H n The long is:l e n d l;cout u The area is:”s e n d l;)48.在下划线处填上缺少的部分。#includeusing namespace std;class complex(public:int real;int imag;complex(int r=0,int i=0)(real=r;imag=i;);complex QDerator+(cumplex

12、&a,complex&b)(int r=a.real+b.real;int i=a.imag+b.imag;return complex(r,i);)void main()complex x(L 2),y(3,4),z;z=x+y;coutz.realv+“z.im a g u i en d l;49.程序的输出结果如下:1,950,30请根据输出数据在下面程序中的下划线处填写正确的语句。源程序如下:#includeusing namespace std;class base(private:public:base();base(int a):m(a)int get()return m;voi

13、d set(int a)m=a;;void main()base*ptr=new base2;ptr-set(30);ptr=ptr+1;ptr-set(50);base a2=l,9;couta0.get(),f,al.get()endl;coutptr-get()/z,f;ptr=ptr-l;coutvv get()vvendl;delete!ptr;)五、程序分析题5 1.给出下面程序的输出结果。#include template class SampleT n;public:Sample(T i)n=i;int operator=(Sample&););template int Sam

14、ple:operator=(Sample&s)if(n=s.n)return 1;else return 0;)void main()Sample sl(2),s2(3);.cout s i 与 s2 的数据成员 (sl=s2?相等:不相等)endl;Samples3(25),s4(25);cout s3 与 s4 的数据成员(s3=s4?相等:不 相 等 )endl;)52.给出下面程序的输出结果。#inclu deusing namespace std;templateT max(T mb T m2)return(mlm2)?ml:m2;void main()coutm ax(l,7)t

15、max(2.0,5.0)endl;coutmax(y/br),f t m ax(7 A,a7)endl;)53.给出下面程序的输出结果#include using namespace std;class A public:int x;A()A(int a)x=a;int get(int a)return x+a;);void main()Aa(8);int(A:*p)(int);p=A:get;cout(a.*p)(5)endl;A*pi=&a;cout(pi-*P)(7)endl;)5 4.给出下面程序的输出结果。include#includeusing namespace std;clas

16、s Book char*title;char*author;int numsold;public:Book()Book(const char*strl,const char*str2,const int num)(int len=strlen(strl);title=new charlen+l;strcpy(title,strl);len=strlen(str2);author=new charlen+l;strcpy(author,str2);numsold=num;)void setbook(const char*strL const char*str2,const int num)(in

17、t len=strlen(strl);title=new charlen+l;strcpy(title,strl);len=strlen(str2);author=new charlen+l;strcpy(author,str2);numsold=num;)Book()delete title;delete author;)void print(ostream&output)outputH 书名:titleen d l;outputH 作者:authorendl;output,f 月销售量:vvnumsoldvvendl;);void main()Bookobjl(,z 数据结构,严蔚敏,20

18、0),obj2;objl.print(cout);obj2.setbook(C+语言程序设计,李春葆,210);obj2.print(cout);六、程序设计题(本大题共1 小题,共 10分)5 5.在三角形类TRI实现两个函数,功能是输入三个顶点坐标判断是否构成三角形#include#includeclass point private:float x,y;public:point(float a,float b)x=a;y=b;point()x=0;y=0;void set(float a,float b)x=a;y=b;float getx()return x;float gety()r

19、eturn y;);class tri point x,y,z;float s i,s2,s3;public:.settri(.);/用于输入三个顶点坐标 .test(.);/用于判断是否构成三角形;请写出两个函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型)摘自:全国2008年 1 月高等教育自学考试面向对象程序设计试题C+程序设计练习题2一、单项选择题1.编写C+程序一般需经过的几个步骤依次是()A.编译、编辑、连接、调试C.编译、调试、编辑、连接B.编辑、编译、连接、调试D.编辑、调试、编译、连接2.函数调用func(expl,exp2),(exp3,exp4,exp5

20、)中所含实参的个数为()A.1C.43.假定AB为一个类,则 执 行“ABa(2),A.3C.5B.2D.5b 3,*p 4 语句时共调用该类构造函数的次数为()B.4D.94.假定AB为一个类,px为指向该类的一个含有n 个对象的动态数组的指针,则执行“delete 口 px;”语句时共调用该类析构函数的次数为()A.0C.nB.1D.n+15.如果表达式+a中 的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()A.a.operator+(l)C.operator+(a,l)6.继承机制的作用是()A.信息隐藏C.定义新类B.operator+(a)D.a.oper

21、ator+()B.数据封装D.数据抽象7.以下哪个基类中的成员函数表示纯虚函数?()A.virtual void vf(int);C.virtual void vf()=0;B.void vf(int)=0;D.virtual void yf(int)8.假定一个类的构造函数为A(intaa,int bb)a=aa;b=aa*bb;”,则 执 行 A x(4,5);“语句后,x.a和 x.b的值分别为()A.4 和 5C.4 和 209.-个类的静态数据成员所表示属性(A.是类或对象的属性C.只是类的属性10.一个C+源程序文件的扩展名为(A.hC.cpp二、填空题B.5 和 4D.20 和

22、5)B.只是对象的属性D.是类和友元的属性)B.xD.cp11.重 载“”操作符时,应声明为一 普 通 _函数。12.在C+中,编译指令都是以#(符号)开始。14.C+支持两种多态性,编译时的多态性和运行一 时 的 多 态 性。15.假定用户为类AB定义了一个构造函数“AB(intaa=0):a(aa),则定义该类的对象时,可 以 有 一 2_ 种不同的定义格式。16.若p 指向X,则_ _*p 与 x 的表示是等价的。18.当 函 数 参 数 表 用 void一 保留字表示时,则表示该参数表为空。19.每个对象都是所属类的一个实例一。20.作为类的成员函数重载一个运算符时,参数表中只有一个参

23、数,说明该运算符有 2 个操作数。-本套试题共分6 页,当前页是第1页-摘自:全国2008年 1 月高等教育自学考试面向对象程序设计试题三、改错题21.假定要求下面程序输出“d=800,f=60”,在 第 5-20行中存在着三条语句错误,请指出错误语句的行号并改正。#includeclass A 1 行int a 10;int n;2 行public:3 行A(int aa ,int nn):n(nn)4 行for(int i=0;in;i+)aa i=a i ;5 行 修改为:for(int i=0;in;i+)a i=aa i ;)6 行int Get(int i)return a i;7

24、 行int SumA(int n);8 行);9 行int A:SumA(int n)10行int s=0;U 行for(int j=0;jn;j+)s+=a j ;12行return s;13行)14行void main()15行int a =2,5,8,10,15,20;16行A x(a,6);17行int d=l;18行for(int i=0;i4;i+)d*=x.a i ;19 行 修改为:for(int i=0;i4;i+)d*=x.Get(i);int f=SumA(6);/20 行 修改为:int f=x.SumA(6);cou tnd=n d A(int aa,int bb):

25、c(aa+bb)a=aa;b=bb;);/7行A a,b(l,2);8 行A*x=&a,&y=b;9 行A*z=newA,w 1 0;/10 行+A*z=new A;四、程序填空题(请按提示要求完成以下程序段的填空)2 3.在下面一段类定义中,Derived类公有继承了基类Base。需要填充的函数由注释内容给出了功能。class Base(private:int meml,mem2;基类的数据成员public:Base(int ml,int m2)meml=ml;mem2=m2;void output()coutm em l,m em 2,;-本套试题共分6 页,当前页是第2 页-摘自:全国2

26、 0 0 8年1月高等教育自学考试面向对象程序设计试题class Derived:public Base(private:int mem3;派生类本身的数据成员public:构造函数,由 m l和 m 2分别初始化m em l和 m em 2,由 m3初始化mem3Derived(int ml,int m2,int m3);输出meml,mem2和 mem3数据成员的值void output()(1);coutmem3endl;);Derived:Derived(int ml,int m2,int m3):;需要补充的语句为:(1)Base:output()(2)Base(ml,m2)(3)m

27、eni3=m3;24.class A int a,b;public:(4)定义构造函数,使参数aa和 bb的默认值为0,a=aa;b=bb;在函数体中用aa初始化a,用 bb初始化b);main()A*pl,*p2;(5);调用无参构造函数生成由p l指向的动态对象;调用带参构造函数生成由p2指向的动态对象,使a 和 b 成员分别被初始化为4 和 5)需要补充的语句为:(4)A(int aa=0,int bb=O)(5)pl=new A;(6)p2=new A(4,5);25.已知一个类的定义如下:(假设类的成员函数已实现)#includeclass AA int a 1 0;int n;pu

28、blic:void SetA(int aa,int nn);用数组aa初始化数据成员a,用nn初始化数据成员nint MaxA();从数组a 中前n 个元素中查找最大值void SortA();采用选择排序的方法对数组a 中前n 个元素 进行从小到大排序void InsertAO;/采用插入排序的方法对数组a 中前n 个元素进行从小到大排序void PrintA();依次输出数组a 中的前n 个元素最后输出一个换行);使用该类的主函数如下:void main()-本套试题共分6页,当前页是第3页-摘自:全国2008年 1 月高等教育自学考试面向对象程序设计试题inta 10=23,78,46,

29、55,62,76,90*,38,42;AA x;JZL;int m=(8);J91;coutm endl;)该程序运行结果为:23 78 46 55 62 7678需要补充的语句为:(7)x.Seta(a,6);(8)x.MaxAO(9)x.PrintAO五、程序分析题(阅读以下程序,写出其运行结果)2 6.当从键盘上输入9.98时,写出下面程序的执行结果。#includevoid main()int a,b;char ch;c in a c h b;/从键盘上输入9.98coutaendlbendl;)27.#include class aa public:virtual int func(

30、)return 0;);class test:public aa public:int func()return 58;void main()test d;aa&b=d;cout b.func()endl;cout b.aa:func()endl;)28.#includeclass my class public:int number;void set(int i););-本套试题共分6 页,当前页是第4 页-摘自:全国2008年 1 月高等教育自学考试面向对象程序设计试题int number=8;void myclass:set(int i)(number=i;)void main()(my

31、 cl ass myl;int number=20;myl.set(6);coutmyl.numberendl;myl.set(number);coutmyl.numberendl;myl.set(:number);coutmyl.numberendl;)29.#includeclass apublic:virtual void print()cout n this is class a printing.M endl;class b:public a(public:void print(););class c:public b(public:void print()cout”this is

32、class c printing.H endl;);void show(a&aa)(aa.printO;)void main()(a a;b b;c c;show(a);show(b);shovv(c);)30.#include class Dateint Year,Month,Day;public:Date(int y=2001,int m=l,int d=l)Year=y;Month=m;Day=d;void PrintDate()coutY ear*7*M o n th *7*D ayendl;-本套试题共分6 页,当前页是第5 页-摘自:全国2008年 1 月高等教育自学考试面向对象程

33、序设计试题class Timeint Houre,Minutes,Seconds;public:Time(int h=5,int m=30,int s=0)Houre=h;Minutes=m;Seconds=s;void PrintTime()coutH oureH:,M in u tesH:,Secondsendl;);class Date_Time:public Date,public Timepublic:Date _ Time();Date _ Time(int y,int mo,int d,int h=O,int mi=09int s=0):Date(y,mo,d)9 Time(h,

34、mi,s)void PrintDate_Time()PrintDate();PrintTime(););void main()(Date _ Time a,b(2002,10,l,6,20,0),2003,3,8,6,7);a.PrintDate _ Time();b.PrintDate _ Time();c.PrintDate _ Time();)31.#includevoid f2(int&x,int&y)(int z=x;x=y;y=z;)void main()(int x=10,y=26;cou tnx,y=n x H,H yen d l;f2(x,y);cou tnx,y=n x H

35、,M yen d l;x+;y-;f2(y,x);cou tMx,y=M x H,M yen d l;)-本套试题共分6 页,当前页是第6 页-2007年10月自考面向对象程序设计试题C+程序设计练习题3一、单项选择题1.以下说法中正确的是()A.C+程序总是从第一个定义的函数开始执行B.C+程序总是从main函数开始执行C.C+函数必须有返回值,否则不能使用函数D.C+程序中有调用关系的所有函数必须放在同一个程序文件中2.以下关于函数模板叙述正确的是()A.函数模板也是一个具体类型的函数B.函数模板的类型参数与函数的参数是同一个概念C.通过使用不同的类型参数,函数模板可以生成不同类型的函数D

36、.用函数模板定义的函数没有类型3.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()A.作为友元函数重载的1元运算符B.作为成员函数重载的1 元运算符C.作为友元函数重载的2 元运算符D.作为成员函数重载的2 元运算符4.构造函数不具备的特征是()A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定类型说明5.在C+中,封装是借助什么达到的()A.结构 B.数组C.类 D.函数6.在哪种情况下适宜采用inline定义内联函数?()A.函数体含有循环语句 B.函数体含有递归语句C.函数代码少、频繁调用 D.函数代码多、不常调用7.在关键

37、字public后面定义的成员为类的()A.私有成员 B.公用成员C 保护成员 D.任何成员8.以下哪个基类中的成员函数表示纯虚函数?()A.virtual void tt()=O;B.void tt(int)=0;C.virtual void tt(int);D.virtual void tt(int)9.假定AA是一个类,AA*abc()const;”是该类中一个成员函数的原型,若该函数返回this值 当 用 x.abc()调用该成员函数后,x 的值()A.已经被改变 B.可能被改变C.不变 D.受到函数调用的影响10.C+对 C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是()

38、A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念-本套试题共分8页,当前页是第1页-2007年10月自考面向对象程序设计试题二、填空题11.如果一个派生类只有一个唯一的基类,则这样的继承关系称为_ _ 单继承12.C+支持两种多态性:_编译_时的多态性和运行时的多态性。14.所有模板都以template关 键 字 和 一 个 一 类型参数_ _ 表开头。15.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的一声明 语句。16.类型转换函数没有返回值类型,而 且 参 数 表 为 一 空_ _ _。17.C+提供的预

39、处理命令有嵌入指令,条件编译指令和一宏定义指令18.对象将其大部分实现细节隐藏起来,这种机制称为_ _信息隐蔽 o19.定义类动态对象数组时,其元素只能靠自动调用该类的 一 构 造函数 来进行初始化。20.在函数体之前加c o n s t _ 关键字可以防止函数误操作改变数据成员的值。三、改 错 题(本大题共2 小题,每小题6 分,共 12分)21.下面是分数类fract的定义及测试主程序,在类定义及其友元函数定义中1到 6 行中有三处错误,更正错误后程序应显示41/28,请指出错误所在行的行号并给出改正意见。class fractint den;分子int num;分母public 1 行f

40、ract(int d=0,int n=l):den(d),num(n)2 行friend fract&operator+=(fract,fract&);void show()cou td en,/num;);friend fract&operator+=(fract fl,fract f 2)3 行 4 行 5 行 6 行fl.den=fl.den*f 2.num+fl.num*f 2.den;fl.num*=f 2.num;return fl;7 行 8 行 9 行 10行void main()fract fr(3,4);fr+=fract(5,7);fnshow();错误行的行号为 1、3

41、 和6 o分别改正为_public:_、_ _ friend fract&operator+=(fract&,fract&);_和_ _ _ _ friend fract&operator+=(fract&fl,fract&f2);_。22.下面程序段第13-17行中存在着三条语句错误,请指出错误语句的行号并说明原因class A 1 行int a;2 行public:3 行A(int aa=0):a(aa)4 行;5 行class B 6 行int a,b;/行const int c;8 行-本套试题共分8页,当前页是第2页-2007年 10月自考面向对象程序设计试题Ad;9 行public

42、:/10行B():c(0)a=b=0;/ll行B(int aa,int bb):d(aa+bb)/12 行a=aa;b=bb;c=aa-bb;/13 行/14 行/15 行B a,b(l,2);16行Bx=a,y(b),z(l,2,3);17 行错误行的行号为_13_、_ _ _ _ _15_ 和_ _ _ _ _ _ 17_ o错误原因分别为一常成员变量只能用初始化表的方式初始化_、应去掉c=aa-bb;应加上分号(;)z 的定义可以是z(l,2);_没有分号和 Z定义错误_ O四、程序填空题(请按提示要求完成以下程序段的填空)23.在下面一段类定义中,Derived类是由直接基类Base

43、1 和 Base 2 所派生的,Derived类包含有两个间接基类BaseBase,在初始化函数Init中,需要把x l 和 x 2 的值分别赋给属于基类B asel的 x 成员和属于基 类 Basel的 x 成员。class BaseBase protected:int x;public:BaseBase()x=1;);class Basel:public BaseBase public:Basel();class Base2:public BaseBase public:Base2();class Derived:_ 一(public:Derived()void Init(int xl,i

44、nt x2)_(2);_(3);)void output()coutBasel:xBase2:xendl;需要补充的语句为:(1)public Basel,public Basel(2)Basel:x=xl;(3)Basel:x=x2;24.#include#includeclass A-本套试题共分8页,当前页是第3页-2(X)7年1 0月自考面向对象程序设计试题int*a;int n;int MaxLen;public:A():a(0)9 n(0)9 MaxLen(O)A(int*aa,int nn9 int MM)n=nn;MaxLen=MM;if(nMaxLen)exit(l);a=n

45、ew intMaxLen;(4);以i 为循环变量把aa数组中每个元素值传送给a 数组的对应元素中)A();int GetVaIue(int i)return ai;/函数体返回 ai的值);(5)析构函数的类外定义void main()int b10=l,2,3,4,5,6,7,8,9,10;Ar(b,10,10);int i,s=0;(6);以i 为循环变量,把 r对象的a 数据成员中的每个元素值依次累加到s 中couts=sendl;)需要补充的语句为:(4)for(int i=0;in;i+)ai=aai;(5)A:A()delete a;(6)for(i=0;is(9)vn+l五、程

46、序分析题阅读以下程序,写出其运行结果。26.#includeclass testprivate:static int val;int a;public:static int func();static void sfunc(test&r);int test:val=10;int test:func()(val-;return val;void test:sfunc(test&r)(r.a=15;cout H result3=n a;)void main()(cout resultl=H test:func()endl;test a;cout”result2=a.func()endl;test:

47、sfunc(a);)27.#includeclass positionpublic:int x,y;void init(int initx,int inity);int getxvalue();int getyalue(););void position:init(int initx,int inity)-本套试题共分8页,当前页是第5页-2007年 10月自考面向对象程序设计试题x=initx;y=inity;int position:getxvalue()return x;int position:getyalue()return y;void printout(position&rl)c

48、outrl.getxvalue()n nrl.getyalue()n;void main()(position a6=1,1,2,2,3,3,4,4,5,5,6,6;position*pa=a;a2.init(7,8);pa-init(5,6);for(int i=0;i5;i+)printout(*(pa+);)28.#include class testpublic:virtual void funl()cout ”test funln endl;virtual void fun2()cout test fun2n endl;void fun3()cout ”test fun3H endl

49、;class ftt:public test(public:void funl()cout nftt funrendl;virtual void fun2()cout Mftt fun2Hendl;virtual void fun3()cout Mftt fun3uendl;);void main()(test*pp;fttq;PP=&q;pp-funl();pp-fun2();pp-fun3();29.#include class complex int real;int imag;-本套试题共分8页,当前页是第6页-2007年 10月自考面向对象程序设计试题public:complex(i

50、nt r=0,int i=0):real(r),imag(i)complex operator+()real+;return*this;void show()coutreal endl imag;void main()complex c(5,9);+c;c.show();30.#includeclass A int a;public:A(int aa=0):a(aa)coutaendl;-A()coutMl lMendl;);void main()A*p;AX 2 =1,2 ;p=new A3;delete p;31.#includeclass A int*a;public:A(int x=0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁