《类的习题课》ppt课件_第1页
《类的习题课》ppt课件_第2页
《类的习题课》ppt课件_第3页
《类的习题课》ppt课件_第4页
《类的习题课》ppt课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-1-152#include #include class Sample public: int x,y; Samplex=y=0; Sampleint a,int bx=a;y=b; void disp coutx=x,y=yendl; ; 2022-1-153 void main Sample s12,3; s1.disp; 2022-1-15北理珠海学院计算机学院4#include class Sample int x,y; public: Samplex=y=0; Sampleint a,int bx=a;y=b; Sample ifx=y coutx=yendl; else

2、coutx!=yendl; void disp coutx=x,y=yendl; ; 2022-1-15北理珠海学院计算机学院5 void main Sample s12,3; s1.disp; 解:此题说明了析构函数的定义方法。首先定义了一个类Sample,在main中定义了它的一个对象,定义s1对象时调用其重载构造函数x=2,y=3,然后,调用其成员函数输出数据成员,最后在退出程序时自动调用析构函数。所以输出为: x=2,y=3 x!=y 2022-1-15北理珠海学院计算机学院6题 4 分析以下程序的执行结果 #include class Sample int x,y; public:

3、Samplex=y=0; Sampleint a,int bx=a;y=b; void disp coutx=x,y=ydisp; 解:此题说明了对象指针的使用方法。这里通过指向对象的指针来调用对象的成员函数。对象指针p指向对象s,p-disp等价于s.disp。所以输出为: x=2,y=3. 2022-1-15北理珠海学院计算机学院7题 5 分析以下程序的执行结果#include class Sample public: int x; int y; void disp coutx=x,y=yendl; ; void main int Sample:*pc; Sample s; pc=&

4、;Sample:x; s.*pc=10; pc=&Sample:y; s.*pc=20; s.disp; 2022-1-15北理珠海学院计算机学院8解:此题说明了类数据成员指针的使用方法。在main中定义的pc是一个指向Sample类数据成员的指针。执行pc=&Sample:x时,pc指向数据成员x,语句s.*pc=10等价于s.x=10为了保证该语句正确执行,Sample类中的x必须是公共成员;执行pc=&Sample:y时,pc指向数据成员y,语句s.*pc=20等价于s.y=20同样,Sample类中的y必须是公共成员。所以输出为: x=10,y=20。 2022

5、-1-15北理珠海学院计算机学院9题 6 下面是一个类的测试程序,设计出能使用如下测试程序的类。 void main Test a; a.init68,55; a.print; 其执行结果为: 测试结果:68-55=13 2022-1-15北理珠海学院计算机学院10#include class Test int x,y; public: void initint,int; void print; ; void Test:initint i,int j x=i;y=j; void Test:print cout“测试结果: x“ - y =“ x-yendl; 2022-1-15北理珠海学院计算

6、机学院11题7.分析以下程序的执行结果 #include class Sample public: Sample; Sampleint; Sample; void display; protected: int x; ; Sample:Sample x=0; coutconstructing normallyn; Sample:Sampleint m x=m; coutconstructing with a number:xendl; void Sample:display coutdisplay a number:xendl; Sample:Sample coutdestructingn;

7、2022-1-15北理珠海学院计算机学院12void main Sample obj1; Sample obj220; obj1.display; obj2.display; 解: 此题构造函数与析构函数的调用顺序。这里定义了两个对象,先顺序调用obj1和obj2对象的构造函数,再调用各自的成员函数disp,最后顺序调用obj2和obj1的析构函数。所以输出为: constructing nomally constructing with a number:20 display a number:0 display a number:20 destructing destructing 202

8、2-1-15北理珠海学院计算机学院13 #include class Sample int n; static int sum; public: Sampleint xn=x; void addsum+=n; void disp coutn=n,sum=sumendl; ; int Sample:sum=0; / 静态数据成员赋初值 题8.分析以下程序的执行结果 2022-1-15北理珠海学院计算机学院14void main Sample a2,b3,c5; a.add; a.disp; b.add; b.disp; c.add; c.disp; 解: 此题说明静态数据成员的使用方法。在类中定

9、义了一个静态数据成员sum,在main之前给它赋初值0,然后在main中定义了三个对象,并执行各自的add和disp方法。所以输出为: n=2,sum=2 n=3,sum=5 n=5,sum=10 2022-1-15北理珠海学院计算机学院15#include class Sample int A; static int B; public: Sampleint a A=a,B+=a; static void funcSample s; ; void Sample : func Sample s coutA=s.A,B=Bendl; 题9.分析以下程序的执行结果 解: 此题说明了静态成员函数的使

10、用方法。其中的数据成员B是静态数据成员,求B之值是在构造函数中进展的。所以输出为: A=2,B=7 A=5,B=7 2022-1-15北理珠海学院计算机学院16#include class Sample int x,y; public: Samplex=y=0; Sampleint a,int b x=a,y=b; void disp coutx=x ,y=y endl; ; 题10.分析以下程序的执行结果 void main Sample s1,s21,2,s310,20; Sample *Pa3; Pa0=&s1; Pa1=&s2; Pa2=&s3; forint

11、i=0;idisp; 2022-1-15北理珠海学院计算机学院17解: 此题说明对象指针数组的赋值方法。定义三个对象和一个对象指针数组,通过赋值语句使后者的元素分别指向前面的三个对象而不是采用上题的赋初值方法,然后使用for语句循环调用各个对象的disp成员函数。所以输出为: x=0,y=0 x=1,y=2 x=10,y=20 2022-1-15北理珠海学院计算机学院18 #include void main int a=10,20,30,40,*pa=a; int * &pb=pa; pb+; cout*paendl; 题11.分析以下程序的执行结果 解: pa为数组的指针,首先指向

12、a0,pb是pa的引用,当执行pb+时,也使pa指向了a1,所以输出为:20 2022-1-15北理珠海学院计算机学院19 #include class Sample int x; public: Sample; Sampleint ax=a; SampleSample &ax=a.x+ +10; void dispcoutx=xendl; ; void main Sample s12,s2s1; s1.disp; s2.disp; 题12.分析以下程序的执行结果 解: Sample类的SampleSample &a构造函数是一个拷贝构造函数,将a对象的x增1然后加上10后赋给当前对象的x,由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论