C++、面向对象程序设计实验一报告代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象/C++程序设计实验报告
时间:第十三周星期六18:00—19:30 课号:
实验名称:实验一类的建立与应用
院系:电子工程与自动化学院座号:成绩:
姓名:学号:指导老师:
一、实验目的
类构成了实现C++面向对象程序设计的基础。类是C++封装的基本单元,它把数据和函
数封装在一起。当类的成员函数声明为保护时,外部不能访问;声明为公共时,则在任何地方都可以访问。
通过建立类来掌握面向对象程序设计中类的封装性、数据保护等特性以及构造函数、
析构函数,掌握系统什么时候自动缺省构造函数和缺省析构函数。要求掌握声明和定义类和成员函数的方法,掌握访问成员函数的方法,理解保护数据如何屏蔽外部访问的原理,使得对类的封装有更好的认识。
成员函数的定义:
1. 在类中定义成员函数:在类中定义的成员函数一般规模都比较小,语句只有1~5
句,而且特别是不允许使用switch 语句,它们一般为内联函数,即使没有明确使
用inline 标示。
2. 在类之后定义成员函数:对于大的成员函数,直接把代码放到类定义中使用起来
十分不方便。为了避免这种情况,C++允许在其他地方定义成员函数。
将类定义和其成员函数定义分开,是目前开发程序的通常做法。我们把类定义(头文件)看成是类的外部接口,类的成员函数定义看成是内部实现。
二、实验内容
使用Visual C++6.0 建立一个复数类,并编制主程序来验证对所创建的复数类的操作
的正确性。
三、实验要求
1、有两个私有的成员x 和y;
2、分别有一个带参数构造函数和无参数构造函数;
3、定义一个可以显示复数的实部和虚部的成员函数。
四、思考题
1、该复数没有定义析构函数(如果使用Visual C++ 6.0 创建类,则会自动为该类生成析
构函数),系统会怎样做?
2、如果定义该复数类的对象时不带参数,是否可以?如果不行,是何原因?
程序代码:
#include
class complex
{
private:
float x,y; //私有类成员,分别代表实数部分和虚数部分public:
complex() //默认构造函数
{
x=0;
y=0;
}
complex(float a,float b) //构造函数重载
{
x=a;
y=b;
}
void show();
};
void complex::show() //打印复数方法实现
{
if(x>0&&y>0)
{
if(y!=1)
cout< if(y==1) cout< } if(x>0&&y<0) { if(y!=-1) cout< if(y==-1) cout< } if(x<0&&y>0) { if(y!=1) cout< if(y==1) cout< } if(x<0&&y<0) { if(y!=-1) cout< if(y==-1) cout< } if(x==0&&y!=0) { if(y!=-1&&y!=1) cout< if(y==1) cout<<"i"< if(y==-1) cout<<"-"<<"i"< } if(x!=0&&y==0) { cout< } if(x==0&&y==0) cout<<"0"< } void main() { complex a(1,-1),b(1,1),c(0,1),d(2,0),e(0,0); cout<<"实部为:1,虚部为:-1的复数显示为:"; a.show(); cout<<"实部为:1,虚部为:1的复数显示为:"; b.show(); cout<<"实部为:0,虚部为:1的复数显示为:"; c.show(); cout<<"实部为:2,虚部为:0的复数显示为:"; d.show(); cout<<"实部为:0,虚部为:0的复数显示为:"; e.show(); } 运行结果: