欢迎来到天天文库
浏览记录
ID:39547221
大小:345.00 KB
页数:28页
时间:2019-07-06
《C++ 实验二 类与对象(附答案)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二类与对象实验目的和要求1.掌握类、类的数据成员、类的成员函数的定义方式。2.理解类成员的访问控制方式。3.掌握对象的定义和操作对象的方法。4.理解构造函数和析构函数的定义与执行过程。5.掌握重载构造函数的方法。6.了解拷贝构造函数的定义方法。实验内容1.下面程序中有错,在不删除和增加代码行的情况下,改正错误语句,使其正确运行。#includeclassAa{public:Aa(inti=0){a=i;cout<<"Constructor"<2、dprint(){cout<classDate{voidset_date();voidshow_date();intyear;intmonth;intday;};Dated;intmain(){set_date();show_date();}voidset_date(){ci3、n>>d.year;cin>>d.month;cin>>d.day;}voidshow_date(){cout<classA{public:voidA(inti=0){m=i;}voidshow(){cout<classX{private:i4、nta=0;int&b;voidsetA(inti){a=i;}X(inti){a=i;}public:intX(){a=b=0;}X(inti,intj){a=i;b=j;}voidsetC(intk){c=c+k;}};voidmain(){Xx1;Xx2(2);Xx3(1,2);x1.setA(3);}3.调试下列程序。#includeclassTPoint{private:intX,Y;public:TPoint(intx,inty){X=x;Y=y;cout<<"Constructoriscalled"<5、(TPoint&p);~TPoint(){cout<<"Destructoriscalled"<6、l;}(1)写出程序的输出结果,并解释输出结果。(2)按下列要求进行调试:在主函数体内,添加下列说明语句:TPointp4,p5(2);调试程序会出现什么现象?为什么?如何解决?(提示:对已有的构造函数进行适当修改)结合运行结果分析如何使用不同的构造函数创建不同的对象。(3)在主函数内使用new创建不同参数动态两个动态对象,输出其坐标,并用delete删除之。运行程序,分析运行结果。(4)在程序中定义个全局对象,在主函数最前添加语句:cout<<"Entermain"<7、序,编译连接,并写出运行结果。如果某个自然数除了1和它本身外还有其他因子,则这个自然数就是合数(非素数)。试定义一个类NUM,从3开始向上试探找出n个连续的自然数,且它们都是合数。当找到第一组连续的n个合数后,即停止查找。具体要求如下:(1)私有成员intn:存放满足条件的连续自然数的个数。int*p:根据n的值申请一个动态数组用来存放求出的满足条件的n个自然数。(2)公有成员函数NUM(intn1):构造函数,用n1初始化n,根据n的值申请动态数组空间,使p指向该动态数组空间。intyes(intx):判断x是否为合数。如果是,返回1,否则返回0。voidfun8、():从3
2、dprint(){cout<classDate{voidset_date();voidshow_date();intyear;intmonth;intday;};Dated;intmain(){set_date();show_date();}voidset_date(){ci
3、n>>d.year;cin>>d.month;cin>>d.day;}voidshow_date(){cout<classA{public:voidA(inti=0){m=i;}voidshow(){cout<classX{private:i
4、nta=0;int&b;voidsetA(inti){a=i;}X(inti){a=i;}public:intX(){a=b=0;}X(inti,intj){a=i;b=j;}voidsetC(intk){c=c+k;}};voidmain(){Xx1;Xx2(2);Xx3(1,2);x1.setA(3);}3.调试下列程序。#includeclassTPoint{private:intX,Y;public:TPoint(intx,inty){X=x;Y=y;cout<<"Constructoriscalled"<5、(TPoint&p);~TPoint(){cout<<"Destructoriscalled"<6、l;}(1)写出程序的输出结果,并解释输出结果。(2)按下列要求进行调试:在主函数体内,添加下列说明语句:TPointp4,p5(2);调试程序会出现什么现象?为什么?如何解决?(提示:对已有的构造函数进行适当修改)结合运行结果分析如何使用不同的构造函数创建不同的对象。(3)在主函数内使用new创建不同参数动态两个动态对象,输出其坐标,并用delete删除之。运行程序,分析运行结果。(4)在程序中定义个全局对象,在主函数最前添加语句:cout<<"Entermain"<7、序,编译连接,并写出运行结果。如果某个自然数除了1和它本身外还有其他因子,则这个自然数就是合数(非素数)。试定义一个类NUM,从3开始向上试探找出n个连续的自然数,且它们都是合数。当找到第一组连续的n个合数后,即停止查找。具体要求如下:(1)私有成员intn:存放满足条件的连续自然数的个数。int*p:根据n的值申请一个动态数组用来存放求出的满足条件的n个自然数。(2)公有成员函数NUM(intn1):构造函数,用n1初始化n,根据n的值申请动态数组空间,使p指向该动态数组空间。intyes(intx):判断x是否为合数。如果是,返回1,否则返回0。voidfun8、():从3
5、(TPoint&p);~TPoint(){cout<<"Destructoriscalled"<6、l;}(1)写出程序的输出结果,并解释输出结果。(2)按下列要求进行调试:在主函数体内,添加下列说明语句:TPointp4,p5(2);调试程序会出现什么现象?为什么?如何解决?(提示:对已有的构造函数进行适当修改)结合运行结果分析如何使用不同的构造函数创建不同的对象。(3)在主函数内使用new创建不同参数动态两个动态对象,输出其坐标,并用delete删除之。运行程序,分析运行结果。(4)在程序中定义个全局对象,在主函数最前添加语句:cout<<"Entermain"<7、序,编译连接,并写出运行结果。如果某个自然数除了1和它本身外还有其他因子,则这个自然数就是合数(非素数)。试定义一个类NUM,从3开始向上试探找出n个连续的自然数,且它们都是合数。当找到第一组连续的n个合数后,即停止查找。具体要求如下:(1)私有成员intn:存放满足条件的连续自然数的个数。int*p:根据n的值申请一个动态数组用来存放求出的满足条件的n个自然数。(2)公有成员函数NUM(intn1):构造函数,用n1初始化n,根据n的值申请动态数组空间,使p指向该动态数组空间。intyes(intx):判断x是否为合数。如果是,返回1,否则返回0。voidfun8、():从3
6、l;}(1)写出程序的输出结果,并解释输出结果。(2)按下列要求进行调试:在主函数体内,添加下列说明语句:TPointp4,p5(2);调试程序会出现什么现象?为什么?如何解决?(提示:对已有的构造函数进行适当修改)结合运行结果分析如何使用不同的构造函数创建不同的对象。(3)在主函数内使用new创建不同参数动态两个动态对象,输出其坐标,并用delete删除之。运行程序,分析运行结果。(4)在程序中定义个全局对象,在主函数最前添加语句:cout<<"Entermain"<7、序,编译连接,并写出运行结果。如果某个自然数除了1和它本身外还有其他因子,则这个自然数就是合数(非素数)。试定义一个类NUM,从3开始向上试探找出n个连续的自然数,且它们都是合数。当找到第一组连续的n个合数后,即停止查找。具体要求如下:(1)私有成员intn:存放满足条件的连续自然数的个数。int*p:根据n的值申请一个动态数组用来存放求出的满足条件的n个自然数。(2)公有成员函数NUM(intn1):构造函数,用n1初始化n,根据n的值申请动态数组空间,使p指向该动态数组空间。intyes(intx):判断x是否为合数。如果是,返回1,否则返回0。voidfun8、():从3
7、序,编译连接,并写出运行结果。如果某个自然数除了1和它本身外还有其他因子,则这个自然数就是合数(非素数)。试定义一个类NUM,从3开始向上试探找出n个连续的自然数,且它们都是合数。当找到第一组连续的n个合数后,即停止查找。具体要求如下:(1)私有成员intn:存放满足条件的连续自然数的个数。int*p:根据n的值申请一个动态数组用来存放求出的满足条件的n个自然数。(2)公有成员函数NUM(intn1):构造函数,用n1初始化n,根据n的值申请动态数组空间,使p指向该动态数组空间。intyes(intx):判断x是否为合数。如果是,返回1,否则返回0。voidfun
8、():从3
此文档下载收益归作者所有