欢迎来到天天文库
浏览记录
ID:8145538
大小:29.00 KB
页数:7页
时间:2018-03-07
《c++实例教学(类应用-02)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C++实例教学(类的应用-02)9.2职员档案管理程序是这一个简化了的雇员档案管理程序。其中把雇员的档案数据和对这些数据的设置、修改、删除等操作组成一个程序模块。程序通过这个模块----类的公有部分对档案数据进行处理,实现了面向对象程序设计的“封装”功能。//program6_2.cpp#include#includeclassemployee{char*name;//雇员姓名shortage;//年龄floatsalary;//工资public:employee();voidset_nam
2、e(char*);voidset_age(shorta){age=a;}voidset_salary(floats){salary=s;}voidprint();~employee(){delete[]name;}};employee::employee(){name=0;age=0;salary=0.0;}voidemployee::set_name(char*n){name=newchar[strlen(n)+1];strcpy(name,n);}voidemployee::print(){cout<<"Name:"<3、cout<<"Age:"<>na;cin>>ag;cin>>sa;emp[i].set_name(na);emp[i].set_age(ag);emp[i].set_salary(sa);emp[i].print();}emp[3].set_salary(5100.0);emp4、[3].print();emp[1].~employee();cin>>na;emp[1].set_name(na);emp[1].set_age(23);emp[1].set_salary(2000.0);emp[1].print();}说明:这是一个简化的雇员档案管理程序,其中5~33行定义了一个employee类,它包含了一个雇员的档案数据,及对这些数据的若干处理函数。构造函数employee,它在进行结象说明时被自动调用。这时创建的是一个雇员的空档案。第39行说明的是一个对象数组,一次建立了五个雇员的空档案。set_name(5、),set_age(),set_salary()三个函数可用来为雇员档案填入姓名、年龄、工资。其中填入姓名时要创建一个长度为该姓名字符串长度+1的字符数组,以便以字符串形式存放该雇员的姓名。print()函数的功能是输出该雇员的档案内容。析构函数~employee()的功能是当某雇员档案撤消或改成另一姓名时,把原占用的字符串空间释放掉。--------------------------------------------------------------------9.3在平面上用直线和圆画图编一个程序,以直线段、矩形和圆为基本图6、元组成一图形。我们采用面向对象的编程方法,把直线line,矩形rectangle和圆circle设计为三个类,它们各有自己的数据和函数成员。用线、矩形和圆组合成图形,就是对这三个类的对象进行操作。程序代码如下://program6_3.cpp#include#include#include#includeclassLine{intstartx,starty,endx,endy;public:Line(intsx,intsy,intex,intey){st7、artx=sx;starty=sy;endx=ex;endy=ey;}voiddraw();};classRectangle{intuplx,uply,lowrx,lowry;public:Rectangle(intulx,intuly,intlrx,intlry){uplx=ulx;uply=uly;lowrx=lrx;lowry=lry;}voiddraw();};classCircle{intcentx,intcenty,radius;public:Circle(intcx,intcy,intr){centx=cx;centy=8、cy;radius=r;}voiddraw();};voidLine::draw(){_moveto(startx,starty);_lineto(endx,endy);}//画一条直线voidRectangle::dr
3、cout<<"Age:"<>na;cin>>ag;cin>>sa;emp[i].set_name(na);emp[i].set_age(ag);emp[i].set_salary(sa);emp[i].print();}emp[3].set_salary(5100.0);emp
4、[3].print();emp[1].~employee();cin>>na;emp[1].set_name(na);emp[1].set_age(23);emp[1].set_salary(2000.0);emp[1].print();}说明:这是一个简化的雇员档案管理程序,其中5~33行定义了一个employee类,它包含了一个雇员的档案数据,及对这些数据的若干处理函数。构造函数employee,它在进行结象说明时被自动调用。这时创建的是一个雇员的空档案。第39行说明的是一个对象数组,一次建立了五个雇员的空档案。set_name(
5、),set_age(),set_salary()三个函数可用来为雇员档案填入姓名、年龄、工资。其中填入姓名时要创建一个长度为该姓名字符串长度+1的字符数组,以便以字符串形式存放该雇员的姓名。print()函数的功能是输出该雇员的档案内容。析构函数~employee()的功能是当某雇员档案撤消或改成另一姓名时,把原占用的字符串空间释放掉。--------------------------------------------------------------------9.3在平面上用直线和圆画图编一个程序,以直线段、矩形和圆为基本图
6、元组成一图形。我们采用面向对象的编程方法,把直线line,矩形rectangle和圆circle设计为三个类,它们各有自己的数据和函数成员。用线、矩形和圆组合成图形,就是对这三个类的对象进行操作。程序代码如下://program6_3.cpp#include#include#include#includeclassLine{intstartx,starty,endx,endy;public:Line(intsx,intsy,intex,intey){st
7、artx=sx;starty=sy;endx=ex;endy=ey;}voiddraw();};classRectangle{intuplx,uply,lowrx,lowry;public:Rectangle(intulx,intuly,intlrx,intlry){uplx=ulx;uply=uly;lowrx=lrx;lowry=lry;}voiddraw();};classCircle{intcentx,intcenty,radius;public:Circle(intcx,intcy,intr){centx=cx;centy=
8、cy;radius=r;}voiddraw();};voidLine::draw(){_moveto(startx,starty);_lineto(endx,endy);}//画一条直线voidRectangle::dr
此文档下载收益归作者所有