实验三类与对象
java面向对象实验三 类与对象编程—类与对象基础
}
⒉实验测试结果:
实验结果及分析
实验结果:
(1)成功输出平均成绩和总成绩。
(2)创建四个学生对象,并成功输出学生信息。
教师评阅
System.out.println(name+"的平均成绩"+(java+c+db)/3.0);
}
voidsum(){
System.out.println(name+"的总成绩为"+(java+c+db));
}
}
publicclassTest{
publicstaticvoidmain(String []args){
classUndergraduate {
Stringname;
intcourse;
Stringeducation="本科";
Undergraduate(String _name,int_course) {
name= _name;
course= _course;
}
String getGrade() {
return("良好");
if(course>= 70)
return("一般");
if(course>= 60)
return("及格");
return("不及格");
实验过程及步骤
}
}
publicclassTest {
publicstaticvoidmain(String[] args) {
Underg("张三", 68);
实验三类与对象
实验三类与对象实验目的●掌握类和对象的概念、定义和访问方法●掌握不同类型成员的访问限制●掌握构造函数和析构函数的使用方法实验示例[例3-1] 运用面向对象程序设计方法编写一个程序,计算两个给定长方形的面积,其类中设计一个用于计算两个长方形的总面积成员函数。
解题思路:设计一个类Rect,包含数据成员len(表示长度)、wid(表示宽度),以及求面积的公有成员函数area()、求两个长方形的总面积成员函数addarea(),并设计两个重载的构造函数。
实现步骤:1.新建Win32 Console Application程序项目2.在文件编辑区窗口编写如下程序代码:#include <>#include <>class Rect{float len,wid;public:Rect(){ }; // 判断今天是否为某雇员的生日、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、#include<>class Date{public:void getdate() // 输出日期,格式:"2000年1月1日"{cout<<y<<"年"<<m<<"月"<<d<<"日";}int getyear() // 返回年份{return y;}int getmonth() // 返回月份{return m;}int getday() // 返回日期{return d;}void setdate(int y1, int m1, int d1) // 设置日期{y=y1;m=m1;d=d1;}private:int y,m,d;};class employee{char name[10];int num;Date birth;public:void set(char a[10],int b){name[10]=a[10];num=b;}void Birth(int y2,int m2,int d2){(y2,m2,d2);}void show(){cout<<"编号为"<<num<<"的雇员生日为";();cout<<endl;}int isBirth(Date a,employee b) // 判断今天是否为某雇员的生日{int mn,my,dn,dy;mn=();my= dn=();dy= if(mn==my&&dn==dy)return 1;elsereturn 0;}};int main(){Date today;(2014,3,27);employee f;("Anna",1);(1992,8,19);();cout<<"今天是";();cout<<endl;if(today,f))cout<<"今天是该雇员的生日。
实验三 类与对象
实验三类与对象专业班级网络1201 学号1218064023 姓名汪枭涵实验学时 2 实验类型验证性实验地点数计学院实验中心实验时间指导老师曹记东实验成绩年月日一、实验目的:理解类与对象的定义,理解封装的含义,掌握数据成员的声明与初始化方法,掌握成员方法的定义、返回值、参数传递的方法。
二、实验内容:用面向对象的思想编写一个简单的计算器,能够实现两个数字的加、减、乘、除运算。
三、实验要求:1.根据需求,用面向对象的方式定义一个计算器类(Calculator);2.由于计算器能对两个数字进行各种运算,所以定义两个成员变量表示两个运算数;3.编写4个成员方法,分别实现加(add)、减(minus)、乘(multiple)、除(divide)四类运算。
4.定义构造函数对成员变量赋初值;5.写出实验报告。
四、实验步骤与结果:(由学生按照实验内容完成)public class Calculator {public static double add(double num1, double num2){return num1 + num2;}public static double minus(double num1, double num2){return num1 - num2;}public static double multiple(double num1, double num2){return num1 * num2;}public static double divide(double num1, double num2){if(num2 != 0){return num1/num2;}return -1;//除数为0,错误}public static void main(String args[]){System.out.println("加法:15 + 5 = " + add(15, 5));System.out.println("减法:15 + 5 = " + minus(15, 5));System.out.println("乘法:15 + 5 = " + multiple(15, 5));System.out.println("除法:15 + 5 = " + divide(15, 5));}}实验结果:总结:通过本次实验,了解了java的开发环境,掌握了NetBeans的使用方法,同时对一些简单的基本JA V A语言的有了进一步的了解和掌握,对JA V A的一些基本语法也明白的很多,但是因为一开始在语法上存在一定的应用缺陷所以导致在实验的过程遇到了一些问题,最终通过和同学的讨论顺利解决了问题。
图书馆 类图、对象和图包的建立
学号 12741217
统一建模语言UML A
实验报告
实验三类图、对象和图包的建立
学生姓名李雪
专业、班级计算机12
指导教师高天迎
成绩
计算机与信息工程学院
年月日
天津城市建设学院
验证性实验任务书
计算机与信息工程学院计算机专业12 班
姓名李雪学号12741217
课程名称:统一建模语言UML A
设计题目:类图、对象和图包的建立
完成期限:自年月日至年月日
设计依据、要求及主要内容(可另加附页):
1、设计依据:
本实验是以教材《UML基础与Rose建模实用教程》一书的第13章为依据, 掌握类图、对象和图包的建立。
2、设计要求:
(1)利用Rose建立图书管理系统的类图。
(2)利用Rose建立图书管理系统的包图。
指导教师:高天迎
一、实验目的
1.了解类图描述的静态关系和包之间的关系
2.会使用rose绘制类图和包图
二、实验内容和思想
对图书馆管理系统进行分析,确定类,明确类的含义和职责,确定类的属性和操作,进而确定类之间的关系。
调整和细化类及其关系,解决重复和冲突,绘制类图。
三、实验结果
四、实验心得
图书馆管理系统是一个经典的程序范例,更是一个学习UML的经典项目。
它能让学生在设计UML中掌握编程的设计思想和实现方法,通过这个作业,我学会了不少东西。
最大的收获是掌握了用Rational Rose软件开发工具熟练的绘制UML图形的方法。
实验三 类与对象(1)——耿祥义
定义Test3_2类,在其中编写一个main方法,在其中创建分别创建三个类的对象,并显示Circle,Lader,Trangle对象的属性信息和面积值。对Trangle对象,还要显示其是否可以构成三角形的信息。
(二)使用修饰符
有时需要公开一些变量和方法,有时需要禁止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。常用的修饰符如下。public,private,protected,package,static,final,transient,volatile
程序功能:通过两个类StaticDemo、KY2_4说明静态变量/方法与实例变量/方法的区别。
③将class CCircle中的变量double pi; double radius;加上private修饰符,进行编译会出现什么问题,为什么?
④将void setCircle(double r, double p),double getRadius()和double getCircleArea()加上修饰符static,重新编译会出现什么问题?仍用static,怎样修改别的地方来纠正这个错误?在main中引用这些方法时不用创建对象则怎样引用?
程序功能:描述一个圆类,其主要属性为半径,还有一个非常重要的常量是圆周率。该圆可以求出面积,可以设置半径和取得半径大小。
class CCircle
{ double pi;
double radius;
double getRadius()
{ return radius;
}
void setCircle(double r, double p)
void aaa()
实验二-类与对象(二)
实验二-类与对象(二)实验三类与对象(2)【实验类型】验证性实验【实验课时】2学时【实验目的】(1)掌握对象数组定义与使用方法。
(2)理解对象指针的概念,学会用指针引用对象。
(3)了解this指针的工作方式。
(4)掌握静态数据成员和静态成员函数的基本使用方法。
(5)理解友元与友元函数的作用,掌握其使用方法。
【实验环境】硬件:计算机软件:Microsoft Visual C++ 6.0【实验内容】1、按要求阅读、修攺、调试和运行以下程序。
(1)实验内容① 定义一个类Stock,记录一支股票交易的基本信息,信息包括交易日序号(表示本月的第几个交易日,用整数表示)、当日最高价、当日最低价、当日开盘价和当日收盘价。
尽量发挥想象力,为该类设计成员函数。
② 在主函数中建立两个股票对象,分别存储该股票昨天和今天两天的信息,以当日收盘价计算该股票今天的涨幅。
③ 使用股票类Stock,定义一个对象数组存放连续5个交易日的股票信息。
编写一个主函数,计算两个Stock对象(前后两日)的当日收盘价计算当日涨幅。
用指针引用对象数组中的两个对象。
在主函数中调用该函数计算从第2个交易日开始每天的当日涨幅。
④ 在Stock类中定义一个静态数据成员,记录当前Stock对象的数量。
⑤ 设计一个成员函数Assign_stock为对象赋值,其中的形式参数是对另一个Stock对象的引用,使用this指针避免对自己的赋值,在主函数中显示用Assign_stock赋值的对象。
⑥ 定义一个友元函数计算Stock对象的当日开盘价是否高于当日收盘价。
若是,返回真,否则,返回假。
(2)实验程序及运行结果(参考)①以当日收盘价计算该股票今天的涨幅#include <iostream.h>class Stock{public:Stock(int n,double ma,double mi,double b,double e);void Set_Stock(int n,double ma,double mi,double b,double e);double Get_End();void Show_Stock();private:int Number;double Max,Min,Begin,End;};Stock::Stock(int n,double ma,double mi,double b,double e){ Number=n;Max=ma;Min=mi;Begin=b;End=e;}void Stock::Set_Stock(int n,double ma,double mi,double b,double e){ Number=n;Max=ma;Min=mi;Begin=b;End=e;}double Stock::Get_End(){ return End;}void Stock::Show_Stock(){ cout<<Number<<"\t";cout<<Max<<"\t";cout<<Min<<"\t";cout<<Begin<<"\t";cout<<End<<endl;}void main(){ Stocks1(1,4.18,4.00,4.05,4.09);Stocks2(2,4.41,4.03,4.04,4.40);cout<<"\n"<<(s2.Get_End()-s1.Get_E nd())/s1.Get_End()*100<<"%"<<endl;}②定义一个对象数组存放连续5个交易日的股票信息#include <iostream.h>const int N=2;class Stock{public:Stock(int n,double ma,double mi,double b,double e);Stock(); //增加无输入值的构造函数void Set_Stock(int n,double ma,double mi,double b,double e);void Set_Stock();double Get_End();void Show_Stock();private:int Number;double Max,Min,Begin,End;};Stock::Stock(int n,double ma,double mi,double b,double e){ Number=n;Max=ma;Min=mi;Begin=b;End=e;}Stock::Stock() //无输入值时,将其都清零{ Number=0;Max=0;Min=0;Begin=0;End=0;}void Stock::Set_Stock(int n,double ma,double mi,double b,double e){ Number=n;Max=ma;Min=mi;Begin=b;End=e;}double Stock::Get_End(){ return End;}void Stock::Show_Stock(){ cout<<Number<<"\t";cout<<Max<<"\t";cout<<Min<<"\t";cout<<Begin<<"\t";cout<<End<<endl;}void Stock::Set_Stock(){ cout<<"Number:";cin>>Number;cout<<"Max:";cin>>Max;cout<<"Min:";cin>>Min;cout<<"Begin:";cin>>Begin;cout<<"End:";cin>>End;}void main(){ int i;Stock s1[5],*p;for (i=0,p=s1;i<N;i++,p++)p->Set_Stock();for (i=0,p=s1;i<N;i++,p++)p->Show_Stock();for(i=1,p=s1+1;i<N;i++,p++) cout<<"\n"<<(p->Get_End()-(p-1)->Get_End())/(p-1)->Get_End()*100<<"%"<<en dl;}③定义一个静态数据成员,记录当前Stock 对象的数量#include <iostream.h>const int N=2;class Stock{public:Stock() {}Stock(int n,double ma,double mi,double b,double e);void Set_Stock(int n,double ma,double mi,double b,double e);void Set_Stock();double Get_End();void Show_Stock();int Get_N_count();private:static intN_count; //静态数据成员int Number;double Max,Min,Begin,End;};intStock::N_count=0; //此处定义时不需要加上staticStock::Stock() //无输入值时,将其都清零{N_count++;Number=0;Max=0;Min=0;Begin=0;End=0;}Stock::Stock(int n,double ma,double mi,double b,double e){ N_count++;Number=n;Max=ma;Min=mi;Begin=b;End=e;}void Stock::Set_Stock(int n,double ma,double mi,double b,double e){Number=n;Max=ma;Min=mi;Begin=b;End=e;}double Stock::Get_End() { return End;}void Stock::Show_Stock() { cout<<Number<<"\t";cout<<Max<<"\t";cout<<Min<<"\t";cout<<Begin<<"\t";cout<<End<<endl;} void Stock::Set_Stock() {cout<<"Number:";cin>>Number;cout<<"Max:";cin>>Max;cout<<"Min:";cin>>Min;cout<<"Begin:";cin>>Begin;cout<<"End:";cin>>End;}int Stock::Get_N_count(){ return N_count;}void main(){ int i;Stock s1[5];Stock *p;for (i=0,p=s1;i<N;i++,p++)p->Set_Stock();for (i=0,p=s1;i<N;i++,p++)p->Show_Stock();for(i=1,p=s1+1;i<N;i++,p++) cout<<"\n"<<(p->Get_End()-(p-1)->Get_E nd())/(p-1)->Get_End()*100<<" %";cout<<"\n"<<p->Get_N_count()<< endl;}④设计一个成员函数Assign_stock为对象赋值,其中的形式参数是对另一个Stock对象的引用#include <iostream.h>const int N=2;class Stock{public:Stock() {}Stock(int n,double ma,double mi,double b,double e);void Set_Stock(int n,double ma,double mi,double b,double e);void Set_Stock();void Assign_Stock(Stock& p);void Show_Stock();private:static int N_count;long Number;double Max,Min,Begin,End;};int Stock::N_count=0;Stock::Stock() //无输入值时,将其都清零{N_count++;Number=0;Max=0;Min=0;Begin=0;End=0;}Stock::Stock(int n,double ma,double mi,double b,double e){ N_count++;Number=n;Max=ma;Min=mi;Begin=b;End=e;}void Stock::Set_Stock(int n,double ma,double mi,double b,double e){ N_count++;Number=n;Max=ma;Min=mi;Begin=b;End=e;}void Stock::Assign_Stock(Stock& p){ if (this!=&p){Number=p. Number;Max=p.Max;Min=p.Min;Begin=p.Begin;End=p.End;}}void Stock::Show_Stock() { cout<<Number<<"\t";cout<<Max<<"\t";cout<<Min<<"\t";cout<<Begin<<"\t";cout<<End<<endl;} void Stock::Set_Stock() {cout<<"Number:";cin>>Number;cout<<"Max:";cin>>Max;cout<<"Min:";cin>>Min;cout<<"Begin:";cin>>Begin;cout<<"End:";cin>>End;}void main(){Stock s1(4,7.88,7.48,7.56,7.68);Stock s2;s2.Assign_Stock(s1);s2.Show_Stock();}⑤定义一个友元函数计算Stock对象的当日开盘价是否高于当日收盘价。
火灾现场实验
火灾现场实验火灾现场实验是一种非常重要的实验方法,用于研究火灾的发生原因、认识火灾特点,获取火灾信息并探究适合的灭火方法和防火策略。
本文将详细介绍火灾现场实验的意义、分类、方法和应用。
一、意义火灾现场实验是从火灾现场采集数据、研究火灾的重要手段。
通过火灾现场实验,我们可以了解火源产生的原因、火灾蔓延的规律、火势发展的特点等一系列信息,可以为消防部门提供有益的参考和依据,为预防和控制火灾提供科学支撑。
二、分类火灾现场实验可以按照实验的目的和对象分类为以下三类:1. 室内火灾现场实验。
此类实验适用于针对室内环境的防火和灭火技术研究,实验对象一般为一般民用建筑、公共建筑等。
2. 室外火灾现场实验。
此类实验适用于对室外环境进行防火和灭火技术研究,实验对象一般是地面一般物质、田地草木、建筑物外墙、屋顶等。
3. 实际火灾现场实验。
此类实验适用于在实际火灾现场进行数据采集和有目的的研究,实验对象为实际火警中的物质、火场和人员。
三、方法火灾现场实验分为前置实验、数值模拟实验、实际火灾现场实验。
1. 前置实验前置实验是通过模拟比较出不同灭火设备灭火效果的实验。
通常在大型实验室中,使用灾害模拟器、发动机等装置进行灾害模拟实验。
灭火设备在模拟实验中进行灭火,通过比较不同设备的效果,选择出最适合的灭火设备和材料。
2. 数值模拟实验数值模拟实验就是在计算机上模拟火场。
研究人员调整一些参数,观察火场的变化,以达到验证火灾发生规律和测试灭火工效果等目的。
数值模拟实验在一定程度上能够取代实际火灾现场实验,节省了时间和消防救援成本。
3. 实际火灾现场实验实际火灾现场实验即在真实火灾发生的现场进行实验。
实验研究人员利用高精度设备记录火场燃烧情况,以利于对灭火工艺的验证和标准化。
四、应用火灾现场实验有着广泛的应用,涉及危化品、工程施工安全、建筑防火等领域。
正因为应用广泛,消防救援人员、防火工作者等需要掌握火灾现场实验技能。
以下则列出火灾现场实验的应用领域:1. 确定最佳火焰高度通过火灾现场实验寻找火焰的高度和范围,以及火场的形态,从而确定最佳火焰高度。
学号姓名--类与对象基础实验(三)实验报告
个人收集整理-ZQ课程名称面向对象程序设计实验项目名称类与对象基础实验(三)学生姓名专业班级学号一. 实验目地和要求.掌握大数处理与类.掌握时间处理类与类、类.掌握异常处理与类二. 实验内容. 编程实现:大整数地数值计算. 编程实现:用大整数求阶乘之和. 编程实现:计算两个日期地天数之差. 编程实现:计算生日信息. 编程实现:数字转换地异常处理三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果). 编程实现:大整数地数值计算.编写一个应用程序,计算两个大整数地和、差、积和商,并计算一个大整数地因子个数.(部分源码参考讲义)文档来自于网络搜索请分析并回答以下问题:程序源码如下:请将运行结果截图:请比较和地主要区别,并简要说明地主要用途.答:. 编程实现:用大整数求阶乘之和.编写一个应用程序,用计算!…!.要求地值从键盘输入.文档来自于网络搜索请分析并回答以下问题:程序源码如下:请将运行结果截图:. 编程实现:计算两个日期地天数之差.编写应用程序,来计算任意两个日期地天数之差.要求:两个日期用字符串形式输入(比如输入“”表示年月日),需要将日期字符串地年、月、日分别转换为数字形式.文档来自于网络搜索程序源码如下:请将运行结果截图:. 编程实现:生日信息.编写应用程序,计算你地生日还有多少天,你地生日是星期几. 程序源码如下:请将运行结果截图:. 编程实现:数字转换地异常处理.输入两个数,计算两个数想除地结果(考虑除数为地异常情况).程序源码如下:请将运行结果截图:四. 讨论、心得(可写遇到地问题及解决方法,或者对技术地理解等)1 / 1。
实验三类与对象
实验三类与对象实验三类与对象1、实验目的1)使用类来封装对象的属性和功能。
2)掌握类变量与实例变量,以及雷方法与实例方法的区别。
3)掌握使用package和import语句。
2、实验内容1)编写一个Java应用程序,该程序中有3各类:Trangle、Lader和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。
具体要求如下:●Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。
另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个数能否构成一个三角形。
●Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。
●Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
程序模板:AreaAndLength.java请按模板要求,将【代码】提换为Java程序代码。
class Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a, double b, double c){【代码1】//参数a、b、c分别赋值给sideA、sideB、sideC if(【代码2】)//a、b、c构成三角形的条件表达式{ 【代码3】//给boo赋值}else{ 【代码4】//给boo赋值}}double getLength(){ 【代码5】//方法体,要求计算出length的值并返回}public double getArea(){if(boo){double p = (sideA + sideB + sideC) / 2.0;area = Math.sqrt(p * (p – sideA) * (p – sideB) * (p – sideC)); return area;}else{System.out.println(“不是一个三角形,不能计算面积”); return 0;}}public void setABC(double a, double b, double c){【代码6】//参数a、b、c分别赋值给sideA、sideB、sideC if(【代码7】)//a、b、c构成三角形的条件表达式{ 【代码8】//给boo赋值}else{【代码9】//给boo赋值}}}class Lader{double above,bottom,height,area;Lader(double a,double b,double h){ 【代码10】//方法体,将参数a、b、c分别赋值给above、bottom、height }double getArea(){ 【代码11】//方法体,要求计算出area并返回}}class Circle{double radius,area;Circle(double r){ 【代码12】//方法体}double getArea(){ 【代码13】//方法体,要求计算出area并返回}double getLength(){ 【代码14】//getArea方法体的代码,要求计算出length并返回}void setRadius(double newRadius){ radius = newRadius;}}public class AreaAndLength{public static void main(String args[]){double length,area;Circle circle = null;Trangle trangle;Lader lader;【代码15】//创建对象circle【代码16】//创建对象trangle【代码17】//创建对象lader【代码18】//调用Circle方法返回周长并赋值给lengthSystem.out.println(“圆的周长:”+length);【代码19】//调用Circle方法返回面积并赋值给areaSystem.out.println(“圆的面积”+area);【代码20】//调用Trangle方法返回周长并赋值给lengthSystem.out.println(“三角形的周长:”+length);【代码21】//调用Trangle方法返回面积并赋值给areaSystem.out.println(“三角形的面积:“+area);【代码22】//调用Lader方法返回面积并赋值给area;System.out.println(“梯形的面积:”+area);【代码23】//调用Trangle方法设置三个边,要求将三个边修改为12,34,15【代码24】//调用Trangle方法返回面积并赋值给areaSystem.out.println(“三角形的面积:”+area);【代码25】//调用Trangle方法返回周长并赋值给lengthSystem.out.println(“三角形的周长:”+length);}}实验后的练习(1)程序中仅仅省略【代码15】,编译能通过吗?(2)程序中仅仅省略【代码16】,编译能通过吗?(3)程序中仅仅省略【代码15】,运行时出现怎样的异常提示?(4)给Trangle类增加3个方法,分别用来返回3个边:sideA、sideB和sideC(5)让AreaAndLength类中的Circle对象调用方法修改半径,然后输出修改后的半径以及修改半径后的圆的面积和周长。
实验三 类与对象(一)
实验三类与对象(一)一、【实验目的】1、掌握类和对象的定义,并能通过对象调用成员函数完成简单的程序设计2、初步掌握用类和对象编制基于对象的程序。
二、【实验要求】1.硬件基本配置:Intel PentiumIII以上级别的CPU,大于64MB的内存。
2.软件要求:Window 2000操作系统,Visual Studio 6.0或更高版本开发环境。
3.实验学时:2学时4.实现实验内容中的题目。
5.写实验报告三【实验内容】1.1 一圆形游泳池如图所示,现在需在其周围建一圆形过道,并在其四周围上栅栏。
栅栏造价为$35/m,过道造价为$20/m2。
过道宽度为3m,现在给出游泳池半径要求编程计算并栅栏和过道的造价。
(圆周率PI定义为3.14159);另外,对于题目中涉及的“圆”,请使用“类”实现,现规定如下:{public:double Set(double s);// Circle(double s);double Circumference( ) const;double Area( ) const;private:double r;};【输入】输入由键盘输入,共1行,这一行有一个实数r,代表给定的游泳池半径。
【输出】输出共2行cout << "Fencing(栅栏)Cost is $" << FenceCost << endl;cout << "Concrete (过道)Cost is $" << ConcreteCost << endl;【样例输入】5【样例输出】Fencing Cost is $1759.29Concrete Cost is $2450.441.2设计一个做加减乘除基本运算的类,实现在主函数中输入要计算的两个数,通过菜单的形式选择做加减乘除运算后,计算输出相应的计算结果。
实验三 类和对象
[1]定义两个成员变量height和width,表示矩形的长和宽,类型为整型
[2]定义一个getArea方法,返回矩形的面积
[3]定义一个getPerimeter方法,返回矩形的周长
[4]在main函数中,利用输入的2个参数分别作为矩形的长和宽,调用getArea和getPermeter方法,计算并返回矩形的面积和周长
[3]定义一个getD方法,有一个类型为MyPoint的对象参数,功能为返回当前对象和参数对象这两个坐标点的距离,返回值为double类型
[4]编写测试的main方法,调用getD计算两个点之间的距离
输入:
输入2行数据,总共4个有理数。每2个数据一组,表示一个点的x和y坐标,每行的2个数据用空格隔开。例如:
x_1=test.nextDouble();
y_1=test.nextDouble();
MyPoint mypoint_4=new MyPoint(x_1,y_1);
System.out.println("请输入第二个点的坐标,中间用空格隔开:");
x_2=test.nextDouble();
y_2=test.nextDouble();
Rectangle juxing=new Rectangle();
System.out.println("请输入矩形的长和宽,用空格隔开:");
height=rectangle.nextDouble();
width=rectangle.nextDouble();
rectangle.close();
Area=juxing.getArea(height, width);
C++上机实验报告 实验三
实验三类与对象1.实验目的1.掌握类的定义和使用2.掌握类的定义和对象的声明3.复习具有不同访问属性的成员的访问方式4.观察构造函数和析构函数的执行过程5.学习类的组合使用方法6.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。
2.实验要求1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。
其中,rank为枚举类型CPU_Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。
观察构造函数和析构函数的调用顺序。
2.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。
cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。
3. (选做)设计一个用于人事管理的People(人员)类。
考虑到通用性这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。
其中“出生日期”定义为一个“日期”类内嵌子对象。
用成员函数实现对人员信息的录入和显示。
要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。
3.实验内容1.首先定义枚举类型CPU_Rank,例如enum CPU_Rank{P1=1, P2, P3, P4, P5, P6, P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。
在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。
实验报告三(完整版)
实验报告三实验三、对象和类〔一〕1.实验目的〔1〕结合面向对象思想掌握类的定义以及类中成员的定义,学会设计自己的类。
〔2〕掌握方法重载、尤其是构造方法的重载,深入理解构造函数的作用与调用时机。
附录2packagech3; publicclassPassValueTest{ privateinti=-100;〔3〕理解this关键字同static关键字的意义,掌握成员变量的具体隐藏实现。
〔4〕理解对象同对象引用间的区别,掌握创立对象与调用对象成员的方法,以及对象作为参数与根本数据类型变量做参数的区别。
publicvoidtest1(intb){b=100;2.实验内容和步骤}上机输入程序并调试运行程序。
编译并运行附件1和附件附录12,观察结果分析其原因。
publicvoidtest2(PassValueTestb){=100;packagech3;}publicclassClassLoadTest{static{System.out.println("classloding");publicvoidtest3(PassValueTestb){b=this;}publicstaticvoidmain(String[]args){}}}结果:原因:publicstaticvoidmain(String[]args){ PassValueTestobj=newPassValueTest(); inttemp=100;obj.test1(temp);System.out.println(temp);o1.nonstaticmethod();obj.test2(obj); StaticTesto2=newStaticTest();System.out.println(obj.i); o2.nonstaticmethod();}obj.i=100; */PassValueTestnewobj=newPassValueTest();obj.test3(newobj); publicvoidnonstaticmethod(){System.out.println(newobj.i);System.out.println("非静态方法被调用");} }}结果:publicstaticvoidstaticmethod(){原因:System.out.println("静态方法被调用");〔2〕编译附件3,分析结果;将“注释这行〞所在的行注释,再将注释的call2方法去掉注}释,再次编译,观察结果分析其原因。
java实验报告三类和对象
计算机与信息学院实验报告系软件系专业软件工程年级08级成绩姓名学号实验室T312 机号48实验时间2010年11月1日下午3、4节教师签字实验(三)类和对象一、实验目的和要求1.掌握类的构造函数的重载2.深入理解类和对象3.学习NetBeans中UML项目的创建类并生成相应代码的方法二、实验内容和原理设计一个复数类,能够完成复数之间的基本运算,重写方法toString(),使其能输出此复数(形式为:实部 + 虚部i)。
要求设计的复数类必须有三个构造函数,分别为无参数、1个参数和2个参数的构造函数,完成的基本运算包括两个复数的加、减、乘、除法和共轭复数。
三、实验环境1.硬件环境:2.软件环境:JDK1.5四、算法描述及实验步骤1.算法描述(可以用类图、流程图、伪代码或源程序描述)2.实验步骤●创建一个UML项目,并设计类Complex如下图●创建一个Java应用项目●把UML项目中的Complex自动生成代码到Java应用项目中●实现Complex类中的方法●进行编译●进行测试,使用的测试用例:输入:预期输出:…五、调试过程1.编译过程记录算法实现中发现的语法错误及改正以下代码不能实现预期的结果:应该改成如下代码:2.调试过程记录算法实现中发现的逻辑错误及改正,对每个测试用例,记录实际输出,并与预期输出进行比较,如果不同,分析产生错误的原因并改正。
输入:预期输出:实际输出:分析与预期结果一致。
六、实验结果用与测试用例不同的输入数据运行算法,写出得到的结果,并分析结果是否正确。
第一组输入:第二组输入:第一组输出结果:第二组输出结果:结果分析:两组的输出结果都正确。
七、总结不应该一开始就考虑怎么编写代码,而是应该想好其框架。
注意语法上的错误,而逻辑上的错误在改正上有很大的难度,在这方面要多加交流。
附录:import javax.swing.*;public class Complex {private double realPart;private double imaginaryPart;public Complex(){realPart = Double.parseDouble(JOptionPane.showInputDialog("Please enter the realpart:"));imaginaryPart = Double.parseDouble(JOptionPane.showInputDialog("Please enter the imaginarypart:"));}public Complex(double realPart){this.realPart = realPart;this.imaginaryPart = 0;}public Complex(double realPart,double imaginaryPart){this.realPart = realPart;this.imaginaryPart = imaginaryPart;}public double getRealPart(){return this.realPart;}public void setRealPart(double val){realPart = val;}public double getimaginaryPart(){return this.imaginaryPart;}public void setimaginaryPart(double val){imaginaryPart = val;}public Complex plus(Complex complex){Complex c = new Complex(realPart + complex.realPart,imaginaryPart + complex.imaginaryPart);return c;}public Complex minus(Complex complex){Complex c = new Complex(realPart - complex.realPart,imaginaryPart - complex.imaginaryPart);return c;}public Complex times(Complex complex){Complex c = new Complex(realPart * complex.realPart - imaginaryPart * complex.imaginaryPart,realPart * complex.imaginaryPart + imaginaryPart * complex.realPart);return c;}public Complex divideBy(Complex complex){double t = complex.realPart * complex.realPart + complex.imaginaryPart * complex.imaginaryPart;Complex c = new Complex((realPart * complex.realPart + imaginaryPart * complex.imaginaryPart)/t,(imaginaryPart * complex.realPart - realPart * complex.imaginaryPart) / t);return c;}public Complex conjugate(){Complex c = new Complex(realPart,-imaginaryPart);return c;}public String toString(){String str = "";if(realPart != 0 && imaginaryPart > 0)return str+realPart+"+"+imaginaryPart+"i"+"\n";if(realPart != 0 && imaginaryPart < 0)return str+realPart+imaginaryPart+"i"+"\n";if(realPart == 0 && imaginaryPart != 0){return str+imaginaryPart+"i"+"\n";}if(realPart == 0 && imaginaryPart == 0){System.out.println("重新输入:");}return str+realPart+"\n";}public static void main(String[] args){Complex c1 = new Complex();Complex c2 = new Complex();String output = "两个复数:\n"+c1+"\n"+c2+"\n"+"两个复数相加:\n"+c1.plus(c2)+"两个复数相减:\n"+c1.minus(c2)+"两个复数相乘:\n"+c1.times(c2)+"两个复数相除:\n"+c1.divideBy(c2)+"c1的共厄复数:\n"+c1.conjugate()+"c2的共厄复数:\n"+c2.conjugate(); JOptionPane.showMessageDialog(null,output);}}。
类与对象实验总结
类与对象实验总结一、实验的那些事儿。
类与对象的实验可真是一场有趣又有点小挑战的经历呢!刚开始接触这个实验的时候,我就像一个迷失在神秘森林里的小探险家,对周围的一切都充满了好奇和疑惑。
这个实验就像是一个大拼图,每一个类和对象都是一块小小的拼图碎片。
我得小心翼翼地把它们组合在一起,才能拼出一幅完整的画面。
比如说,在创建类的时候,就像是在设计一个小世界里的生物或者物体的模板。
这个模板有着自己独特的属性和行为,就像我们人类有着身高、体重、会说话、会走路这些特点一样。
二、类的构建之旅。
类的构建可没那么简单,就像盖房子一样,得先打好地基,规划好结构。
我得仔细思考这个类需要哪些属性,这些属性就像是房子的房间一样,每个都有自己的用途。
我记得在构建一个表示小动物的类的时候,我给它设定了像名字、年龄、颜色这样的属性。
这些属性是这个小动物独一无二的标识。
就像我的小猫咪,它叫雪球,白色的毛,3岁啦,这些就是它的属性。
然后呢,还得给这个类定义方法,方法就像是这个小动物能做的事情。
比如说小动物能跑、能跳、能发出叫声,这些行为就可以用方法来表示。
三、对象的诞生。
有了类这个模板,对象就像是从这个模板里生产出来的一个个具体的东西。
比如说我有了小动物这个类,那我就可以创建出好多不同的小动物对象。
我创建了一个小狗对象,叫小黑,它的年龄是2岁,黑色的毛。
这个小黑就是根据小动物类这个模板产生的一个具体的实例。
对象之间还可以相互作用呢。
就像小黑可以和我创建的另一个小猫对象小花一起玩耍。
它们之间可以通过各自的方法来互动,小黑可以跑过去嗅嗅小花,小花可以挥动小爪子吓唬小黑,哈哈,特别好玩。
四、遇到的小坎坷。
不过呢,这个实验也不是一帆风顺的。
我也遇到了不少小麻烦。
比如说,有时候在定义类的属性和方法的时候,会不小心写错名字或者搞错数据类型。
这就像在盖房子的时候用错了材料,结果房子就盖歪了。
还有一次,在对象之间传递信息的时候,就像两个人说话没说清楚一样,出现了错误。
实验三:类与对象(bo)
实验三Java类与对象【实验目的】1)理解面向过程与面向对象区别2)理解面向对象的三大特征3)掌握类声明的方法4)掌握构造方法5)掌握对象的创建方法与创建机制6)掌握成员变量、类变量和局部变量区别7)掌握成员方法与类方法区别8)掌握函数的重载9)掌握4种访问修饰符的区别【实验环境】JDK1.6+Eclpise3.2【实验准备】1)复习课件中理论知识2)练习课堂所讲的例子【实验内容】1、创建猴子类。
具体要求如下:1)编写一个类Monkey,用来表示猴子类;2)给Monkey类确定添加4个属性:3个实例成员变量(名字、体重、年龄)、1个静态成员变量(爱好:默认值为:吃香蕉);3)添加默认构造方法和有参构造方法(3个参数,分别给名字、体重和年龄赋初始值)4)编写展示猴子能够爬树(climbTree)的方法――提供两个参数传入:分别代码猴子的名字(name)和爬树的高度(height)(方法内只需打印猴子的”名字+会爬树,能爬+高度”)5)测试:在main方法中创建两个猴子对象monkey1(皮蛋、50、3)和monkey2(兰兰、45、2),monkey1使用默认构造方法创建,monkey2使用有参构造方法创建。
分别打印出monkey1和monkey2的名字、体重、年龄和爱好。
并调用monkey1和monkey2的爬树方法。
2、创建矩形Rectangle类。
具体要求如下:1)创建一个Rectangle类;2)创建属性:两个double成员变量:width和height。
3)创建方法:计算矩形的周长getLength()和面积getArea()。
4)测试:创建Rectangle对象,并给两个成员变量赋值,调用周长和面积的方法,输出周长和面积。
【实验过程及结果】实验代码及结果:1. package arp;public class Monkey {//创建类// 4个属性(成员变量)private String name;private int weight;private int age;private static String love="吃香蕉";public Monkey(){}//有参构造方法public Monkey(String name,int weight,int age) {=name;this.weight=weight;this.age=age;}//爬树public void climbTree(String name,int height){System.out.println(name+"会爬树,能爬"+height+"米");}//测试public static void main(String [] args){Monkey monkey2=new Monkey();="猪猪";monkey2.weight=50;monkey2.age=3;Monkey monkey3=new Monkey("猫猫",45,2);System.out.println(+"体重为"+monkey2.weight +"年龄为:"+monkey2.age+"爱好为:"+monkey2.love);System.out.println(+"体重为:"+monkey3.weight+"年龄为:"+monkey3.age+"爱好为:"+monkey3.love);monkey2.climbTree(,100);monkey3.climbTree(,88);}}2. package arp;//创建类public class Rectangle {//两个成员变量private double width;private double height;//计算周长public double getLength(){return (this.width+this.height)*2;}//计算面积public double getArea(){return this.width*this.height;}public static void main(String[] args) {Rectangle rectangle =new Rectangle();rectangle.width=100;rectangle.height=50;System.out.println("周长为:"+rectangle.getLength());System.out.println("面积为:"+rectangle.getArea());}}【实验感想】本次实验态度鲜明的提出了面向对象和面向过程的区别以及面向对象的三大特征,并由此引入了类的声明,对象的创建方法等实质性问题,在上机练习中通过创建相应的类,给我留下了对于类和对象的深刻认识,对于这些新接触的知识还要在进一步的学习中去感悟和理解它所包含的实在的东西。
实验三类与对象编程练习
实验三类与对象编程练习实验三类与对象编程练习【开发语⾔及实现平台或实验环境】Windows2000 或XP,JDK1.6与编辑器【实验⽬的】1.理解Java语⾔是如何体现⾯向对象编程基本思想,2.了解类的封装⽅法,以及如何创建类和对象,3.了解成员变量和成员⽅法的特性。
4.掌握OOP⽅式进⾏程序设计的⽅法。
【实验要求】1.编写⼀个体现⾯向对象思想的程序。
2.编写⼀个创建对象和使⽤对象的⽅法程序。
3.编写不同成员变量修饰⽅法的程序。
4.编写不同成员⽅法修饰的程序。
【实验内容】1.编写⼀个包含名为Calculator类的程序。
定义两个整数变量,编写⽤于执⾏加、减、乘、除运算的⽅法。
在此程序中使⽤构造⽅法,并在main()⽅法中创建该类的对象并访问这些⽅法。
2.在1的基础上对加法运算的⽅法进⾏重载,重载的⽅法⽤于执⾏两个字符串相加。
3.定义⼀个名为MyRectagle的矩形类,类中有4个私有的整型变量,分别是矩形的左上⾓坐标(xUp,yUp)和右下⾓坐标(xDown,yDown);类中定义没有参数的构造⽅法和有4个int型参数的构造⽅法,⽤来初始化成员变量。
再编写⼀个类创建MyRectagle类的对象,显⽰对象的各属性。
4.使⽤static、final修饰符编写程序,并观察程序的运⾏结果。
【实验原理和步骤】实验原理:每个类中都有构造⽅法,构造⽅法是⽤来初始化⼀个新的对象。
创建⼀个对象要使⽤new关键字和构造⽅法。
通过对象可以访问类中的属性和⽅法。
构造⽅法与类同名,不要声明返回值类型。
同⼀个类中包含两个或两个以上相同名字的⽅法,并且他们的参数声明不同,这些⽅法就是重载的⽅法。
实验步骤:1.⽤记事本编写⼀个名为Calculator.java的⽂件,⽂件中部分程序代码如下:import java.util.*;class Calculator{int a;int b;//构造⽅法Calculator(int a,int b){代码段1 //将两个参数分别赋给属性a和b}代码段2 //执⾏加、减、乘、除运算的⽅法public static void main(String args[]){Scanner s=new Scanner(System.in);System.out.println("输⼊⼀个整数");int i=s.nextInt();System.out.println("再输⼊⼀个整数");int j=s.nextInt();Calculator c=new Calculator(i,j);//创建Calculator类的对象System.out.println(c.add());System.out.println(c.dec());System.out.println(c.mul());System.out.println(c.div());}}2.(1)在Calculator类中添加⼀个带有2个String类型参数的add⽅法。
实验三2类和对象
实验三(2)类和对象一、实验目的1.熟悉类的定义。
2.掌握对象的声明与创建、实例化及成员的引用。
3. 掌握构造方法及实例方法的区别与用法。
4.能利用面向对象的思想解决一般问题。
二、实验要求1.以下程序能否通过编译?上机验证并指明错误原因与改正方法Class Location{Private int x,y;Public void Location(int a,int b){ X=a; y=b;}Public int getX(){return x;}Public int getY(){return y;}Public static void main(String args[]){Location loc=new Location(12,20);.println(());.println(()); }2. 创建一个图书类,类中包含的属性有:书名、作者、出版社;包含的方法有:设置书籍状态,查看书籍状态。
书籍状态有在馆和外借两种。
3. 设计一个Birthday 类,其成员变量有:year,month,day;提供构造方法、输出Birthday对象值的方法和计算年龄的方法。
编写程序测试这个类。
4. 编写一个类,描述汽车,其中用字符型描述车的牌号,用浮点型描述车的价格。
编写一个测试类,其中有一个修改价格的方法,对汽车对象进行操作,根据折扣数修改汽车的价格,最后在main()方法中输出修改后的汽车信息。
5.验证书上例13(关于方法重载)和例19(关于访问权限),此题无需提交实验报告。
三、提交各实验程序源代码及实验报告。
C++面向对象程序设计实验三 类和对象
学长只能帮你到这了
要想学习好,努力少不了
int y; }; void main() { CPoint p; p.print(); CPoint p1(1,2); //构造函数不能显示调用 p1.print(); //即 CPoint p1;p1.CPoint(1,2); CPoint p2=p1; //运行时会出错。 p2.print(); }
学长只能帮你到这了
要想学习好,努力少不了
{ CPoint pt; pt.Set(10,20); pt.Print(); }
问题一:以上程序编译能通过吗,试解释该程序? 答:可以通过, 问题二:以上程序的运行结构是否正确,如果不正确,试分析为什么,应该如何改正? 共有变量与私有变量名一样,调用的时候调用了私有变量,而私有变量没有值所以是
学长只能帮你到这了
要想学习好,努力少不了
ps.Print(); }
问题一:以上程序存在三处大错误,在不改变主函数内容的前提下,试改正该程序。 答:把成员函数都改成公有;函数的参数应该有数组或字符串的定义才可以传递“张三” 。 主函数中对构造函数的引用也有错。 class CPerson{ public: void Print(); CPerson(int ,char s[10]); private: int age; char *name; }; CPerson::CPerson(int a,char s[10]) { age=a; name=s; } void CPerson::Print() { cout<<"name="<<name<<",age="<<age<<endl; } void main() { CPerson ps(23,"张三"); ps.Print();
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cout<<”总面积:”<<r1.len*r1.wid+r2.len*r2.wid<<endl;
}
void main()
{
Rect A(3.5,2.0), B(3.8,2.3), C;
cout<<A.area<<’\t’<<B.area<<endl;
C.addarea;
}
3.编译、链接和执行程序
[例3-2]编写一个程序,设计一个类score用于统计一个班的平均成绩。
实验三
实验目的
掌握类和对象的概念、定义和访问方法
掌握不同类型成员的访问限制
掌握构造函数和析构函数的使用方法
实验示例
[例3-1]运用面向对象程序设计方法编写一个程序,计算两个给定长方形的面积,其类中设计一个用于计算两个长方形的总面积成员函数。
解题思路:
设计一个类Rect,包含数据成员len(表示长度)、wid(表示宽度),以及求面积的公有成员函数area()、求两个长方形的总面积成员函数addarea(),并设计两个重载的构造函数。
实现步骤:
1.新建Win32Console Application程序项目
2.在文件编辑区窗口编写如下程序代码:
#include <iostream.h>
#include <iomanip.h>
class Rect
{
float len,wid;
public:
Rect(){ }; //默认的构造函数(内联的)
Rect(float,float); //构造函数
float area(){ return len*wid; }; //求面积(内联的)
void addarea(Rect,Rect); //求两个长方形的面积
};
Rect::Rect(float a, float b)
{
len=a; wid=b;
}
void Rect::addarea(Rect r1, Rect r2)
2.设计一个雇员类employee,该类对象可存储雇员的姓名、编号、生日等信息,要求使用上一题设计的日期类作为对象成员表示生日。雇员类的使用如:
employee a(“Smith”,“10”, 1978, 11, 25);
//对象a表示雇员Smith,编号为10,1978年11月25日出生
date Today;
实验习题
1.定义一个日期类Date,该类对象存储日期数据,并实现如下操作:
void getdate(); //输出日期,格式:”2000年1月1日”
int getyear(); //返回年份
int getmonth(); //返回月份
int getday(); //返回日期
void setdate(int y, int m, int d); //设置日期
if(mn==my&&dn==dy)
return 1;
else
return 0;
}
};
int main()
{
Date today;
today.setdate(2014,3,27);
employee f;
static int num;
public:
score(int s)
{
fs=s;
sum+=fs;
num++;
}
static void average()
{
if (num==0) cout<<”尚未输入学生成绩!”<<endl;
cout<<”平均成绩:”<<sum/num<<endl;;
}
};
int score::sum=0; //初始化静态数据成员
…
if (a.isBirth(Today))……. //判断今天是否为某雇员的生日
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
int num;
Date birth;
public:
void set(char a[10],int b)
{
name[10]=a[10];
num=b;
}
void Birth(int y2,int m2,int d2)
{
birth.setdate(y2,m2,d2);
}
void show()
{
cout<<"编号为"<<num<<"的雇员生日为";
#include<iostream.h>
class Date
{
public:
void getdate() //输出日期,格式:"2000年1月1日"
{
cout<<y<<"年"<<m<<"月"<<d<<"日";
}
int getyear() //返回年份
{
return y;
}
int getmonth() //返回月份
解题思路:
使用2个静态数据成员分别存储总分、人数,另定义一个静态成员函数输出平均成绩。
实现步骤:
1.新建Win32Console Application程序项目
2.在文件编辑区窗口编写如下程序代码:
#include <iostream.h>
class score
{
int fs;
static int sum;
int score::num=0;
void main()
{
score *p;
int s;
while (1)
{
cout<<”学生成绩:”; cin>>s;
if (s<0) break; //输入负数时结束成绩输入
p=new score(s);
delete p;
}
score::average();
}
3.编译、链接和执行程序
birth.getdate();
cout<<endl;
}
int isBirth(Date a,employee b) //判断今天是否为某雇员的生日
{
int mn,my,dn,dy;
mn=a.getmonth();
my=b.birth.getmonth();
dn=a.getday();
dy=b.birth.getdayt getday() //返回日期
{
return d;
}
void setdate(int y1, int m1, int d1) //设置日期
{
y=y1;
m=m1;
d=d1;
}
private:
int y,m,d;
};
class employee
{
char name[10];