实验二类和对象

实验二类和对象
实验二类和对象

实验二类和对象

1.实验目的:

(1) 掌握Visual C++6.0基本操作

(2) 了解C++程序运行环境;

(3) 掌握简单的C++程序的开发过程(编辑、编译、连接和运行)。

(4) 掌握类及其成员的定义方法;

(5) 掌握对象的创建方法;

2.实验内容:

2.1按要求分析程序指出程序运行的结果:

1)分析下面的程序,并给出程序运行的结果:

#include

class change

{char c1,c2;

public:

void set(char a){c2=((c1=a)-32);}

void print()

{cout<

};

void main()

{change a,b;

a.set('a');

b.set('b');

a.print();

b.print();

}

运行结果:

a can be upwritten as A

b can be upwritten as B

Press any key to continue

程序分析:

由主函数可知,创建的类名为change,两个类对象为a,b,类中含有两个公有成员函数set(char a)和print(),利用函数set(char a)对两个私有成员数据赋值,即为减数与被减数的数值,利用函数print()对两个运算后的类对象进行输出。

2)分析下面的程序,并给出输出结果:

#include

class pair

{char c1,c2;

public:

void set(char b)

{c1=1+(c2=b);}

unsigned where_am_I()

{return((unsigned)this);}

{cout<

};

void main()

{pair a,b,c;

a.set('A');

b.set('B');

c.set('C');

a.print();

cout<<"is at "<

b.print();

cout<<"is at "<

c.print();

cout<<"is at "<

}

运行结果:

B+A is at 1245052

C+B is at 1245048

D+C is at 1245044

Press any key to continue

程序分析:

由主函数可知,创建的类名为pair,三个类对象为a,b,c,类中含有,三个公有成员函数set(char b)和where_am_I()和print(),利用函数set(char b)对两个私有成员数据赋值,利用函数where_am_I() this 是一个指针,这个返回语句的功能是把this指针指向的对象的地址用无符号数的类型返回。例如如果this 指向对象的地址是0x0000ffff,则返回值就是这个。

+ 利用函数print()对两个运算后的类对象进行输出。

2.2编写并调试程序:

1)下面是一个类的测试程序,给定主函数,请写出类的定义,构成一个完整的程序,使执行程序后输出结果为:88-32=56

给定的主函数为:

void main()

{

Tst t;

t.init(88,32);

t.print();

}

2)编程分析

由主函数可知,要创建的类名为Tst,一个类对象为t,类中含有两个公有成员函数init()和print(),利用函数init()对两个私有成员数据赋值,即为减数与被减数的数值,为了程序的实现需要定义第三个成员数据作为减法之差。

#include

class Tst

{ int x,y,z;

public:

void init(int a,int b){

z=((x=a)-(y=b));

}

void print()

{cout<

void main()

{

Tst t;

t.init(88,32);

t.print();

}

4)运行结果

88-32=56

5)调试情况分析

3.实验结论:

实验3 类和对象

实验3 类和对象的创建与使用 一、实验目的 1、掌握类的定义和对象的创建; 2、掌握构造方法的作用、格式及重载; 3、掌握修饰词对成员存取权限的限制。 4、掌握实例成员、类成员的定义和使用方法。 二、实验内容 1、定义储蓄账户类,并创建对象模拟银行基本操作。 2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做) 3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。 三、实验步骤 说明:请将第1,3题代码写入实验报告实验步骤处。 1、模拟银行账户功能。 编写程序,模拟银行账户功能。要求如下: 属性:账号、姓名、地址、存款余额、最小余额。 方法:存款、取款、查询。 根据用户操作显示储户相关信息。 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。 取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。 public class AccountOperation { public static void main(String [] args) { Account account1=new Account("650101","柳眉","天河学院",800.00); Account account2=new Account("650102","郑杰","天河学院",200.00); account1.transfer(account1,account2,300.0); account1.deposit(300.5); account1.withdraw(200); account1.withdraw(300); account1.query(); System.out.println(account1.toString()); //System.out.println(https://www.360docs.net/doc/5010773916.html,); error!! } } class Account { private String account; private String name; private String address; private double balance;

C++语言程序设计实验答案_类与对象

实验04 类与对象(6学时) (第4章类与对象) 一、实验目的 二、实验任务 4_1 声明一个CPU类。 包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 }; frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 4_2 声明一个简单的Computer类。 有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run和stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,声明并实现这个类。 4_3 声明一个表示时间的结构体。 可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。

4_4(习题4-10)设计一个用于人事管理的People(人员)类。 考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号),sex(性别)、birthday(出生日期)、id(身份证号)等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现人员信息的录入和显示。要求包括:构造函数和析构函数、内联成员函数、组合。 三、实验步骤 1.(验证)声明一个CPU类,观察构造函数和析构函数的调用顺序。 首先声明枚举类型CPU_Rank,例如enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 },再声明CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,声明成员函数run和stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示顺序。在主程序中声明一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:。(程序见步骤2) ★程序的运行结果: 2.(示例)调试程序文件。 使用调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。参考程序如下: 操作)调试操作步骤如下: (1)单击“调试 | 逐语句”命令,系统进行单步执行状态,程序开始运行,一个DOS 窗口出现,此时Visual Studio中光标停在main()函数的入口处。

实验2 类和对象(一)

实验2 类和对象(一) 1、实验目的 (1)掌握声明类的方法,类和类的成员的的概念以及定义对象的方法。 (2)初步掌握用类和对象编制基于对象的程序。 (3)学习检查和调试基于对象的程序。 2、实验内容 (1)有以下程序: #include using namespace std; class Time //定义Time类 {public: //数据成员为公用的 int hour; int minute; int sec; }; int main( ) { Time t1; //定义t1为Time类对象 cin>>t1.hour; //输入设定的时间 cin>>t1.minute; cin>>t1.sec; cout<

C++实验二类与对象(附答案)

实验二类与对象 实验目的和要求 1.掌握类、类的数据成员、类的成员函数的定义方式。 2.理解类成员的访问控制方式。 3.掌握对象的定义和操作对象的方法。 4.理解构造函数和析构函数的定义与执行过程。 5.掌握重载构造函数的方法。 6.了解拷贝构造函数的定义方法。 实验容 1.下面程序中有错,在不删除和增加代码行的情况下,改正错误语句,使其正确运行。#include class Aa { public: Aa(int i=0) { a=i; cout<<"Constructor "<

(1) #include class Date { void set_date(); void show_date(); int year; int month; int day; }; Date d; int main() { set_date(); show_date(); } void set_date() { cin>>d.year; cin>>d.month; cin>>d.day; } void show_date() { cout< class A { public: void A(int i=0) { m=i; } void show() { cout<

实验二 类和对象的使用_参考答案

实验二类和对象的使用 班级:学号:姓名:成绩: 一.实验目的 1.掌握类和对象的概念、定义和使用方法。 2.掌握不同特性对象成员的访问方法。 二.使用的设备和仪器 计算机+Windows XP +Visual C++6.0 三.实验内容及要求 1.定义一个Book类,在该类定义中包括以下数据成员和成员函数: 数据成员:bookname(书名)、price(价格)、number(存书数量) 成员函数:set()输入图书信息;display()显示图书的情况;borrow()将存书数量减1,并显示当前存书数量;restore()将存书数量加1,并显示当前存书数量。 在主函数中,要求创建某一图书对象,并对该图书进行简单的显示、借阅和归还等管理。 2.定义一个中国好声音歌手类。其中,包括每个歌手的名字、年龄、来自哪个省份、所唱的曲目等。可以实现报名、显示、修改等功能。 3.定义一个时间类,实现课堂中第五节中的例2.2。 数据成员:时、分、秒 成员函数:输入时间、设置时间、按12小时制显示时间、按24小时制显示时间、增加1小时、减少1小时等功能。 4.定义一个学生类Student,要求如下: (1)数据成员包括学号、姓名、数学成绩、英语成绩和C++成绩;要求对所输入的成绩的合法性进行判断。 成员函数包括:设置学生的信息函数;输入学生的信息函数;输出学生的信息函数; 计算学生平均成绩的函数。 (2)添加新的数据成员:出生年月日;实现多个学生信息的添加、成绩的修改(一次只能修改一科成绩)等功能。要求单独定义一个日期类,并对所输入的出生年月日的合法性进行判断。 (3)设计一个菜单函数。 ****************************************************************** * * * 1.添加 2.设置 3.显示 4.修改成绩 5.计算平均分0.退出* * *

实验二-类与对象(二)

实验二-类与对象(二)

实验三类与对象(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)实验程序及运行结果(参考) ①以当日收盘价计算该股票今天的涨幅

实验二 类与对象

实验二类与对象(2) 一、实验目的 1、掌握类的定义和使用。 2、掌握类声明和类体。 3、掌握成员变量和局部变量的区别和使用方法。 4、多维数组的使用。 二、实验设备 1、硬件:PC机。 2、软件:DOS运行环境、EditPlus编辑软件。 三、实验预习要求 1、阅读3.2节类的定义和使用。 2、阅读3.2.2 成员变量和局部变量的区别的使用方法。 3、预习程序【例3-1】【例3-2】 4、多维数组的使用。熟悉程序【例2-32】 四、实验内容和步骤 1、展示简单数据类型与引用数据的区别 import java.io.*; public class PassTest { float ptValue; public void changeInt(int value) { value = 55; // 在方法内部对值参数进行了修改 } public void changeObjValue(PassTest ref) { ref.ptValue = 99f; // 在方法内部对引用参数进行了修改 } public static void main(String args[]) { int val; PassTest pt = new PassTest(); val = 11; System.out.println("初始的整型值是: " + val); pt.changeInt(val); // 值参数 System.out.println("改变后整型值是: " + val); // 值参数值的修改,没有影响值参数的值 pt.ptValue = 101f; System.out.println("初始的整型值是: " + pt.ptValue); pt.changeObjValue(pt); // 引用类型的参数 System.out.println("改变后整型值是: " + pt.ptValue); // 引用参数值的修改,改变了引用参数的值 } } 2、展示局部变量和类成员变量作用域 class Variable { int x = 0, y = 0, z = 0; //类的成员变量

实验二 类与对象

实验二类与对象 一、实验目的 1、学习类与对象的定义,掌握类与对象的使用方法。 2、学习数据成员与成员函数的访问方式,理解构造函数和析构函数的定义与执行过程,学会构造函数的重载方法。 3、掌握数组与指针的定义与使用方法,理解数组与指针的存储分配与表示。 4、掌握用指针和引用向函数传递参数。 5、掌握静态数据成员和静态成员函数的使用。 6、理解友元与友元函数的作用与使用方法。 二、实验内容 1、下面是一个计算器类的定义,请完成该类成员函数的实现。 class Counter { public: Counter(int number); void increment(); //给原值加1 void decrement(); //给原值减1 int getValue(); //取得计数器值 int print(); //显示计数 private: int value; }; #include class count { public: counter(int number); void increment(); void decrement(); int getvalue(int); int print();

private: int value; }; void count::increment() { int a=value+1; } void count::decrement() { int b=value-1; } int count::getvalue(int s) { value=s; return 0; } int count::print() { cout<

cout<<"Copy initianization constructor is called."< class Date{ public: void printDate(); //显示日期 void setDay(int); //设置日的值 void setMonth(int); //设置月的值 void setYear(int); //设置年的值

实验二 Java类与对象程序设计基础

Java程序设计实验指导 实验二Java类与对象程序设计基础 一、实验目的: 通过编制一个独立应用程序,使得学生掌握Java的系统所提供类的引用方法;通过编制一个完整的应用程序,使得学生对Java的应用程序的基本构成和基本算法熟练掌握,同时熟悉Java 开发环境;通过自定义类及子类的设计,熟悉类的定义和父、子类的继承关系;掌握类多态性的实现和调用。上机练习之前,必须先完成程序的书写,再上机调试。 二、实验内容: 1、编程实现矩形类Rectangle,Rectangle拥有私有属性长(length)和宽(width),为Rectangle 类提供至少两种构造方法,同时提供计算矩形周长(perimeter())和面积(area())的方法。使用两种构造方法,至少各创建一个矩形对象实例,并分别计算两个矩形的周长和面积。 2、使用矩形类InterRectangle,编程统计若干块矩形土地的相关信息。由用户输入每块土地数 目以及每块土地的长与宽,统计出所有土的面积和周长并显示出来。 3、为第一步实验中定义的矩形类Rectangle派生一个子类:正方体类Cube。若正方体类的操 作同样是求底面周长和面积,同时要求求出长方体体积,则这个子类除了从父类那里继承来的方法之外,还需要做哪些修改。编程检查、运行所编写的正方体类。使用两种构造方法,至少各创建一个正方体对象实例,并分别计算两个正方体的底面周长、底面面积和体积。 三、实验指导: 注意类的继承,方法的实现。详细代码参见源代码。 四、实验要求: 1、在上机前写出全部源程序; 2、能在机器上正确运行程序; 五、程序清单: 六、运行结果: 七、调试分析及实验心得: . 1 .

实验报告_实验3 类与对象

实验报告_实验3类与对象(学生学号_姓名) 一、实验目的 1.熟悉类的组成,掌握类的声明方法; 2.理解构造方法的作用,并掌握构造方法的定义; 3.熟练使用访问器和设置器实现信息隐藏和封装; 4.熟悉一般方法、构造方法的重载; 5.能够正确地区分静态变量与实例变量、静态方法与实例方法的不同,掌握静态变量和静态方法的使用;6.掌握对象的创建、引用和使用及向方法传递参数的方式; 7.掌握this关键字的使用以及对象数组的创建和访问; 8.掌握Java包的创建、包成员的各种访问方式; 9.掌握一维数组:声明,创建,初始化,数组元素的访问; 10.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。 二、实验内容与步骤 1.请回答下列问题: (1)Cirecle类定义了几个属性?它们的类型、访问权限各为什么? 答:两个PI,floatl类型,静态私有权限 Radius,float;类型,私有权限 (2)类中的“PI”的值可以在程序的方法中更改吗? 答:不可以,因为PI为静态变量 (3)Cirecle类定义了几个方法?它们的访问权限怎样? 答:四个,getRadius(),setRadius(floatradius),getPerimeter(),getArea()都是公有权限 2.写出Rectangle类的程序代码: classRectangle { privatefloatwidth; privatefloatlength;

publicfloatgetWidth() //获取矩形宽度 {returnwidth;} publicfloatgetLength() //获取矩形长度 {returnlength;} publicfloatgetPerimeter() //获取矩形周长 {return2*(width+length);} publicfloatgetArea() //获取矩形面积 {return(width*length);} publicvoidsetWidth(floatw) //设置矩形宽度 {width=w;} publicvoidsetLength(floatl) //设置矩形长度 {length=l;} } 3.回答下列问题: (1)该程序中有几个类?主类是什么?如果将这两个类放在一个文件中,源程序文件名应是什么? 答:两个类:Circle、CircleTest;主类是CircleTest;源程序文件名是CircleTest。 (2)Circle类定义了几个构造方法(即构造器)?Circle类中存在无参构造方法吗?如果要使用无参构造方法,应如何做? 答:Circle类定义了个构造方法;不存在,写入Circle(){}; (3)CircleTest类中创建了几个Circle对象?这些对象是如何创建的? 答:CircleTest类创建了两个Circle对象;Circle对象名=newCircle()。 (4)CircleTest类中如何调用对象的方法? 答:CircleTest类调用对象方法:对象名.方法 4.写出OverrideTest中所缺的三行代码: publicclass OverrideTest{ publicstaticvoid main(String[]args){ //使用Box类的无参构造方法创建方法创建对象box1 ; System.out.println(box1); //使用Box类的带一个参数的构造方法创建对象box2,参数值为5.0 ; System.out.println(box2); //使用带Box类带三个参数的构造方法创建对象box3,其中三个参数长、宽、高分别为10.1、20.2、30.3

实验2 类和对象

实验2 “面向对象程序设计”实验报告 专业计算机科学与技术班级1301 姓名邓乾坤评分 学号201306060102 第组2014 年 4 月28 日 一、实验名称类和对象(二) 1、实验目的 (1)进一步加深对类和对象的理解。 (2)掌握类的构造函数和析构函数的概念和使用方法。 (3)掌握对对象数组、对象的指针及其使用方法。 (4)掌握友元的概论和使用。 (5)了解类模板的使用方法。 2、实验内容 (1)有以下程序: ①阅读此程序,分析其执行过程,然后上机运行,对比输出结果。 ②修改上面的程序,增加一个fun函数,改写main函数。在main 函数中调用fun函数,在fun函数中调用change和display 函数。在fun函数中使用对象的引用(Student&)作为形参。 程序如下: #include using namespace std; class Student

{ private: int num; float score; public: Student(int n, float s):num(n), score(s) { } void change(int n, float s) { num=n; score=s; } void display() { cout << num << " " << score << endl; } }; int main() { Student stud(101, 78.5); stud.display(); stud.change(101, 80.5);

stud.display(); return 0; } 结果: 修改程序如下: #include using namespace std; class Student { private: int num; float score; public: Student(int n, float s):num(n), score(s) { } void fun(Student &); void change(int n, float s) { num=n; score=s;

实验二 类和对象_ 参考答案

实验二类和对象(参考答案) 班级:学号:姓名:成绩: 一.实验目的 1.理解面向对象程序设计的基本思想; 2.掌握类和对象的概念、定义和使用方法。 3.掌握不同特性对象成员的访问方法。 二.使用的设备和仪器 计算机+Windows XP +Visual C++6.0 三.实验内容及要求 1、定义一个表示长方体类Cuboid,数据成员包括length(长)、width(宽)、height(高), 成员函数包括长方体的输入、输出、计算体积和表面积等。在主函数中,定义3个 长方体的对象,并调用成员函数完成其功能。 2、定义一个学生类Student,数据成员包括学号、姓名、数学成绩、英语成绩和C++ 成绩,成员函数包括:输入学生的信息函数;输出学生的信息函数;设置学生的信 息函数;计算学生的平均成绩的函数。在main函数中调用以上函数实现相应功能。 3、定义一个图书类Book,在该类中包括以下数据成员和成员函数: 数据成员:id(书号)、bookname(书名)、price(价格)、total(总存书数量)、number (当前剩余图书数量) 成员函数: Input()——图书信息输入; Output()——图书信息输出; Borrow()——借阅图书,并显示当前剩余图书数量; Restore()——归还图书,并显示当前剩余图书数量。 在主函数中,要求创建某种图书对象,并对该图书进行简单的输入、输出、借阅和归还管理。 选择题: 4、根据以下要求类的编写。 1)定义一个日期类Date,数据成员包括年、月、日,成员函数包括: Input()——日期信息输入; Output()——日期信息输出; Set()——设置日期信息 2)在第2题Student类中增加一个出生日期成员,使用Date类来定义。然后修改 相应的成员函数,并增加一个成员函数GetAge,用来计算并返回学生的年龄。 在主函数中定义对象,测试以上功能。

实验一.类与对象实验报告

实验一.类与对象实验报告

浙江理工大学信息学院 面向对象程序设计实验报告 实验名称:类的定义与使用学时安排:3 实验类别:设计性实验实验要求:1人1组 姓名:邵旸珂学号:2016329621068  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、实验目的 1)掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性; 2)掌握类对象的定义; 3)理解类的成员的访问控制的含义,公有、私有和保护成员的区别; 4)掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员函数; 二、实验原理介绍 通过建立类及对象,用类的成员函数和对象访问类的成员; 利用建立类的构造函数,完成类的成员的初始化工作; 三、实验设备介绍 软件需求: windows或linux下的c++编译器 硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU 处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。 四、实验内容 编写一个程序,模拟电梯的功能。功能接口包括电梯上行按钮、下行按钮、楼层选择和电梯在行驶过程中的楼层显示。

要求: 1.由用户选择按上行按钮还是下行按钮,选择操作后再由用户输入要进入的楼层,进而电梯开始运行,显示所到的每一楼层层数。 2.如果是上行,则选择输入的楼层号不能比当前楼层号小,否则应给出不合法提示。 3. 如果是下行,则选择输入的楼层号不能比当前楼层号大,否则应给出不合法提示。 4.电梯一旦开始运作就会始终运行,直到窗口关闭。 5.电梯在经过不同楼层时,最好每个楼层的显示之间能有延迟,最终停靠的楼层的输出形式能更加醒目。如果可以,在电梯最初开始运行时,能在电梯由内部显示当前日期(提示:实现这些功能时,需要调用系统api,实现时间显示功能可以使用CDate类)。 五程序清单 #include #include #include using namespace std; int n,floorNumber; class Elevator { private: int floor; //电梯总的楼层数 bool up; //是否上行,bool为布尔类型,可取值true或false bool down; //是否下行 int currentFloor; //当前所在楼层 public: Elevator(int floor); void setUpButton(); //按下上行按钮

实验5 类和对象1答案

实验5:Java类与对象 一、实验目的 (1)使用类来封装对象的属性和功能; (2)掌握Java类的定义。 (3)java对象的使用 二、实验任务 (1)按要求编写一个Java程序。 (2)按要求完善一个Java程序,编译、运行这个程序,并写出运行结果。 三、实验内容 1.编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。 2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的对象,并验证新增加的功能。 class Student{ long studentID; int classID; String name; String sex; int age; public Student(long studentID,int classID,String name,String sex,int age){ this.studentID=studentID; this.classID=classID; https://www.360docs.net/doc/5010773916.html,=name; this.sex=sex; this.age=age; } public long getStudentID(){ return studentID; } public int getClassID(){ return classID;

7类与对象基础实验(二)实验报告

浙江大学城市学院实验报告 课程名称面向对象程序设计 实验项目名称类与对象基础(二) 学生姓名专业班级学号 一.实验目的和要求 1.掌握String类与StringBuffer类 2.掌握数组对象的使用 3.掌握基本数据类型的包装类的使用 二.实验内容 1.编程实现:解析身份证号码的生日。 2.编程实现:字符串比较和转换。 3.编程实现:解析身份证号码的地区。 4.编程实现:数组操作。 三.实验结果与分析(可将程序运行结果截屏,也可分析运行结果) 1.编程实现:解析身份证号码的生日。要求从键盘输入身份者号码字符串,将其中生日信息提取,并屏幕显示。(身份证号码验证,只需要验证身份证号码为18位)。 请分析并回答以下问题: (1)程序源码如下: import java.util.Scanner; /*编程实现:解析身份证号码的生日。 *要求从键盘输入身份者号码字符串, *将其中生日信息提取,并屏幕显示。 *(身份证号码验证,只需要验证身份证号码为18位)。 **/ public class shen{ public static void main(String[]args){ //TODO Auto-generated method stub Scanner sc=new Scanner(System.in); int m=0; while(m==0){

System.out.println("请输入正确的18位身份证号码"); String num=sc.next(); if(num.length()==18){ int i=6;//截取字符的起点 String year=num.substring(i,i+4);//截取年 String yue=num.substring(i+4,i+6);//截取月 String ri=num.substring(i+6,i+8);//截取日 System.out.println(year+"年"+yue+"月"+ri+"日"); m=1;} else System.out.println("身份证号码错误,请重新输入!"); } } } (2)请将运行结果截图: 2.编程实现:字符串比较和转换。编写一个Java应用程序,判断两个字符串是否相同,判断字符串的前缀、后缀是否和某个字符串相同,按照字典顺序比较两个字符串的大小关系,检索字符串,创建子字符串,将数字型字符串转换为数字,将字符串存放到数组中,用字符数组创建字符串。(部分源码参考讲义) (1)请将源码编写完整如下: class example2{ public static void main(String args[]){ String s1=new String("you are a student"), s2=new String("how are you");if(s1.equals(s2))//使用equals方法判断s1与s2是否相同 {System.out.println("s1与s2相同");} else{System.out.println("s1与s2不相同");} String s3=new String("22030219851022024"); if(s3.startsWith("220302"))//判断s3的前缀是否是“220302”。 {System.out.println("吉林省的身份证");} String s4=new String("你"),s5=new String("我");

实验二 类和对象(1)

实验二类和对象(1) 1.定义一个描述角度的类CAngle,包含的内容如下: (1)私有成员变量value,表示角度,类型为double; (2)公有成员变量SetValue,实现功能是使用形参为value赋值。 声明为:viod SetValue(double); (3)公有成员函数GetCos,实现功能计算余弦值,并作为返回值返回。 声明为 double GetCos(); 编程实现如下功能:定义一个Cangle类的对象deg,调用成员函数设置deg的角度为30度,调用成员函数计算并输出deg的余弦值。 2.定义一个网上购书订单类BookOrder,包含的内容: (1)私有成员变量BookID,表示图书编号,类型为char[6]; (2)私有成员变量Quantity,表示图书的数量,类型为int; (3)公有成员变量Price,表示图书的单价,类型为double; (4)公有函数成员BookInit,实现使用参数为成员变量赋值,声明为viod BookInit(char*,int,double); (5)公有成员函数BookInfo,实现显示订单信息,包括图书编号、单价、数量、总价。声明为void BookInfo(); 编程实现如下功能: (1)创建图书订单类的一个对象bkorder; (2)交互地由用户输入订单信息,包括图书编号、数量、单价; (3)调用成员函数BookInit设置bkorder的成员变量的值; (4)调用成员函数BookInfo显示图书订单的内容; (5)修改图书的单价为现有单价的80%; (6)再次调用成员函数BookInfo显示图书订单的内容。

实验三 类与对象

院系:计算机学院 实验课程:计算机基础实验 实验项目:实验三类与对象 指导老师: 开课时间: 专业: 班级: 学生: 学号: 实验二类与对象 一、实验目的与要求 1.掌握类的定义和使用,掌握类对象的声明和使用,掌握具有不同访问属性的成员的访问方式。 2.掌握对象的初始化和赋值的方法;熟悉构造函数、拷贝构造函数和析构函数的编写; 了解构造函数和析构函数的作用和使用;使用编译器调试功能,跟踪观察类的构造 函数、析构函数、成员函数的执行顺序。 3.了解成员函数的特性、友员、类的作用域及对象的、生存期等概念。 4.了解并掌握子对象的定义、赋值、使用方法,掌握静态成员、常成员的使用。

课程名称程序设计实验实验项目类与对象 实验时间年月日 实验指导老师实验评分 二、实验内容 1.编写设计一个people类。该类的数据成员有年龄(age)、身高(hight)、体重 (weight),函数成员有进食(eating)、运动(sporting)、睡眠(sleeping)。其中进食函数使体重加1,运动函数使身高加1,睡眠函数使年龄、身高、体重各加1。 要求所有成员为public公有访问权限,在主函数中通过类对象直接访问类的所有成员。 代码如下: #include using namespace std; class people { public: int age; double height, weight; people(int _age = 18, double _height = 162, double _weight = 52) { age = _age; height = _height; weight = _weight; } void eating() { weight++; return; }

实验一、类与对象

实验一类与对象 一、实验目的 1.掌握类的定义和使用。 2.掌握类的对象的声明。 3.复习具有不同访问属性的成员的访问方式。 4.观察构造函数和析构函数的执行过程。 5.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 二、实验课时 4学时 三、实验任务 1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run(提示信息“CPU开始运行”)、stop(提示信息“CPU停止运行”)。其中,为枚举类型CPU_Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。在main函数中定义该类的一个对象,并调用其公有成员函数,观察构造函数和析构函数的调用顺序。试试能不能在主函数中打印该对象的属性值,并分析原因。 @ 2.在上述CPU类中添加成员函数,分别用于设置及获取各属性的值,并在main函数中调用这些函数。观察当这些函数被设置成private或public时会有什么不同。 3.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram 为RAM类的一个对象,cdrom为CDROM类的一个对象。CPU类的定义为实验任务1,RAM、CDROM类可以自由设置一些属性,并提供类似的run、stop这两个成员函数。在main函数中测试这个类,分析成员函数的运行顺序。 4.定义一个Point类,属性为坐标X、Y的值,包含有如下成员函数:构造函数、析构函数、设置与获取X和Y的值的函数,并测试程序的输出结果。

实验3类与对象

(1)编写3个基本类:Triangle, Ladder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”类;1个主类:Compute,负责计算每个形状的面积或周长。具体要求: Triangle 定义3个变量:边长;和1个求周长的方法。 Ladder 定义3个变量:上底,下底和高;定义1个求面积的方法。 Circle 定义1个变量:半径;定义2个方法:求面积、求周长。 3个基本类都要定义相应的构造方法,对变量进行初始化。 package test3; class Triangle{ double a,b,c; public Triangle() { } public Triangle(double a, double b, double c){ this.a=a; this.b=b; this.c=c; } public double C(){ return a+b+c; } } class Ladder{ double up,down,height; public Ladder(){ } public Ladder(double up, double down, double height){ this.up=up; this.down=down; this.height=height; } public double Area() { return (up+down)*height/2; } } class Circle{ double radius; public Circle(){ } public Circle(double radius){ this.radius=radius; }

相关主题
相关文档
最新文档