- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分享一个苹果,各得一个苹果,分享一种思想,各得两种思想。分享是件快乐的事件,乐于分享的人,事业更容易成功。
福建农林大学计算机与信息学院实验报告
一、实验目的和要求
1.掌握类、类的数据成员、类的成员函数的定义方式,理解类成员的访问控制方式。
2.掌握对象的定义和操作对象的方法。
3.掌握构造函数和析构函数的概念,掌握几种特殊构造函数。
4.理解对象数组、对象指针的概念并能正确应用。
5.理解类的组合关系(对象成员) 。
6.理解 this 、 const、 new/delete 等关键字的用法并能够正确应用。
7.掌握静态成员的基本使用方法。
8.掌握友元的使用方法,进一步理解其概念和作用。
二、实验内容和原理
1.下面程序 sy3_1.cpp 中用 ERROR标明的语句有错,在不删除和增加代码行的情
况下,改正错误语句,使其正确与运行。
//sy3_1.cpp
#include<iostream>
using namespace std;
class Aa
{
public:
Aa(int i=0) {a=i;cout<<"Constructor"<<a<<endl;}
~Aa(){cout<<"Destructor"<<a<<endl;}
void print(){cout<<a<<endl;}
private:
int a;
};
int main()
{
Aa a1(1),a2(2);
a1.print();
cout<<a2.a<<endl; //ERROR
return 0;
}
经典资料, WORD 文档,可编辑修改,欢迎下载交流。
2.调试下列程序。
//sy3_2.cpp
#include<iostream>
using namespace std;
class TPoint
{
public:
TPoint(int x,int y){X=x;Y=y;}
TPoint(TPoint &p);
~TPoint(){cout<<"Destructor is called\n";}
int getx(){return X;}
int gety(){return Y;}
private:
int X,Y;
};
TPoint::TPoint(TPoint &p)
{
X=p.X;
Y=p.Y;
cout<<"Copy-initializention Constructor is called\n";
}
int main()
{
TPoint p1(4,9);
TPoint p2(p1);
TPoint p3=p2;
cout<<"p3=("<<p3.getx()<<", "<<p3.gety()<<")\n";
return 0;
}
在该程序中, 将 TPoint 类的带有两个参数的构造函数进行修改, 在函数体内增
分享一个苹果,各得一个苹果,分享一种思想,各得两种思想。分享是件快乐的事件,乐于分享的人,事业更容易成功。
添下述语句:
cout<<"Contructor is called.\n"
写出程序的输出结果,并解释输出结果。
按下列要求进行调试;
在主函数体内,添加下列说明语句:
Tpoint p4,p5(2);
调试程序会出现什么现象?为什么?如何解决?(提示:对已有的构造函数进行
适当修改)结合运行结果分析如何使用不同的构造函数创建不同的对象。
3.对教材中 Li3_11.cpp的主函数做如下修改:
1)将 Heapclass *pa1,*pa2改为 Heapclass *pa1,*pa2,*p3;
(2)在语句 pa=new heapclass;后增加语句 pa3= new Heapclass(5);
(3)将语句 if(!pa1||!pa2) 改为 if(!pa1||!pa2||!pa3) ;
4)在语句 delete pa2;后增加语句 delete pa3;
写出程序的输出结果,并解释输出结果。
4.请定义一个矩形类(Rectangle),私有数据成员为矩形的长度 (len)和宽度(wid),
无参构造函数置 len 和 wid 为 0,有参构造函数置 len 和 wid 为对应形参的值, 另
外还包括求矩形周长,求矩形面积,取矩形长度和宽度,修改矩形长度和宽度为
对应形参的值,输出矩形尺寸等公有成员函数。要求输出矩形尺寸的格式
为”length:长度 ,width: 宽度 ”。(sy3_3.cpp)
调试下列程序,写出输出结果,并分析输出结果。
//sy4_1.cpp
#include<iostream>
using namespace std;
class My
经典资料, WORD 文档,可编辑修改,欢迎下载交流。
{
public:
My(int aa)
{
A=aa
文档评论(0)