实验编号:四川师大《面向对象程序设计》实验报告 2015年9
月14 日
计算机科学学院 2014 级 1 班 实验名称:模板和文件 姓名: 宋亚梅 学号:2014110127 指导老师: 杨军 实验成绩:____ __ 实验一 类与对象 ( 设计性实验 4学时)
1. 目的要求:
1) 掌握类的定义和使用;掌握类对象的声明;练习具有不同访问属性的成员的访问方式;观察构造函数和析构函数的执行过程;
2) 学习类组合使用方法;
3) 使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。
2. 实验内容:
1) 编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
#include
int Max1(inta,intb,int c) { if(a>b) { if(a>c) { return a; }
注:实验成绩分为(90——100分)优,(80——89分)良,(70——79)中,(60——69分)及格,(59分)不及格。
else { return c; } } else if(b>c) { return b; } else { return c; } }
double Max1(double a,double b) { if(a>b) { return a; } else { return b; } }
double Max1(double a,doubleb,double c) { if(a>b) { if(a>c) { return a; } else { return c; } } else if(b>c) { return b; } else {
注:实验成绩分为(90——100分)优,(80——89分)良,(70——79)中,(60——69分)及格,(59分)不及格。
return c; } }
int main() { inta,b,c; cout<<\输入两个整数:\ cin>>a>>b; cout<<\两数中最大的是:\ cout<<\输入三个整数:\ cin>>a>>b>>c; cout<<\三数中最大的是:\ double x,y,z; cout<<\输入两个双精度数:\ cin>>x>>y; cout<<\两数中最大的是:\ cout<<\输入三个双精度数:\ cin>>x>>y>>z; cout<<\三数中最大的是:\ return 0; }
2) 写一个函数,具有一个引用作为形参参数,在函数中改变引用变量的值,观察实参变量的变化。
#include
注:实验成绩分为(90——100分)优,(80——89分)良,(70——79)中,(60——69分)及格,(59分)不及格。
b=b=100; cout<<\ cout<
3) 定义一个CPU类,包含等级(Rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU__Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。
#include
enumCPU_Rank {P1=1,P2,P3,P4,P5,P6,P7};
class CPU{ //CPU类的定义 public: //外部接口 CPU (intNrank,intNfrequency,floatNvoltage); //构造函数 void run();
注:实验成绩分为(90——100分)优,(80——89分)良,(70——79)中,(60——69分)及格,(59分)不及格。
void stop(); ~CPU(){cout<<\成功调用析构函数\ private: CPU_Rank rank; int frequency; float voltage; };
void CPU::run() { cout<<\程序开始执行\}
void CPU::stop() { cout<<\程序停止执行\}
CPU::CPU (intNrank,intNfrequency,floatNvoltage) { rank=(CPU_Rank)Nrank; frequency=Nfrequency; voltage=Nvoltage; cout<<\成功调用构造函数\ cout<<\等级(Rank) :\ cout<<\频率(frequency) :\ cout<<\电压(voltage) :\}
int main() { CPU_Rank rank; intr,f; float v; cout<<\输入等级,频率,电压:\ cin>>r>>f>>v; cout<<\ \ \ CPU CPU(r,f,v); CPU.run(); CPU.stop(); return 0; }
注:实验成绩分为(90——100分)优,(80——89分)良,(70——79)中,(60——69分)及格,(59分)不及格。