《【2017年整理】实验5 类和对象实验报告》由会员分享,可在线阅读,更多相关《【2017年整理】实验5 类和对象实验报告(14页珍藏版)》请在金锄头文库上搜索。
1、实验 5 类和对象实验报告实验目的:1.进一步理解类和对象的概念;2.进一步理解类的成员的访问控制的含义,公有和私有成员的区别;3.掌握构造函数和析构函数的含义与作用、定义方式和实现;4.能够根据给定的要求定义类并实现类的成员函数;5.了解 C+面向对象程序设计的基本思想、基本方法和基本步骤;6.掌握 MS Visual C+6.0 调试 C+程序的基本方法、基本步骤。实验内容:一、输入下列程序,按要求进行实验,并记录实验的结果#include using namespace std;class Coordinatepublic:Coordinate(int x1, int y1)x=x1;
2、y=y1;Coordinate(Coordinate &p);Coordinate()coutusing namespace std;class Coordinatepublic:Coordinate(int x1, int y1)x=x1; y=y1;Coordinate(Coordinate &p);Coordinate() ;Coordinate(int i) ;Coordinate()coutusing namespace std;class Datepublic:void printDate()coutusing namespace std;class coutnerpublic:c
3、ounter(int number); /构造函数void increment(); /给 value 原值加 2void decrement(); /给 value 原值减 2int getvalue(); /取得计数器值int print(); /显示计数private:int value; /数据成员;coutner:counter(int number)value=number;void coutner:increment()value+=2;void coutner:decrement()value-=2;int coutner:getvalue()return value;int
4、coutner:print()coutusing namespace std;class ClsNameprivate:int x,y;public:ClsName()x=0,y=0;ClsName(int c)x=c,y=0;ClsName(int a,int b)x=a,y=b;int getx()return x;int gety()return y;void setx(int a)x=a;void sety(int b)y=b;void print()coutusing namespace std;class Complexprivate:double x1,y1,x2,y2;publ
5、ic:Complex()x1=1;y1=1;x2=1;y2=1;Complex(int a,int b,int c,int d)x1=a;y1=b;x2=c;y2=d;Void jia() cout(x1*x2+y1*y2)/(x2*x2+y2*y2)(y1*x2-x1*y2)/(x2*x2+y2*y2)x1y1;coutx2y2;int main()Complex a;Complex c(4,3,2,1);cout以(a, b)的形式打印复数,其中 a 为实部,b 为虚部,其中系统默认的复数为(1,1)endlendl;cout1.未初始化值endl;a.jia();a.jian();a.c
6、hen();a.chu();cout2.初始化值endl;c.jia();c.jian();c.chen();c.chu();cout3.自定义endl;a.set();a.jia();a.jian();a.chen();a.chu();return 0;实验总结:本次实验总体上来说难度不是非常大,但是还是遇到一些问题,比如:第一题中 Coordinate(Coordinate &p)构造函数中的参数可以是类名吗?第四题中的几种构造函数的定义和申明,开始的时候不怎么会,最后查阅了相关资料解决了。第五题实现了零个参数、四个参数的构造函数,该程序只要懂复数的算法就会做了。虽然没多少题,但是还是花了我很多时间,这就是编程还不够熟、算法不够高明,我相信在后面的实验中,只要我努力、坚持,我的编程技术就会有所提高。