欢迎来到天天文库
浏览记录
ID:14137744
大小:47.00 KB
页数:5页
时间:2018-07-26
《实验五 构造函数与析构函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验五构造函数与析构函数一、实验类型设计型二、实验目的1、实验目的(1)掌握构造函数和析构函数的特点、功能以及函数的调用方法。(2)分析和使用VC++的debug调试功能跟踪观察类的构造函数、析构函数的执行顺序。三、上机准备1、实验室安装VC++6.0软件。2、构造函数的定义和使用方法、析构函数的概念与作用。四、实验内容与步骤1、建立一个点(Point)类,设计构造函数和析构函数对类对象进行初始化和撤销操作。提示与分析:(1)建立默认无参构造函数,初始化Point中的坐标成员(X,Y)为0,注意其函数名与类名相同。(2)建立析构函数,在屏幕上显示析构函
2、数执行信息。注意其函数名前的~符号。(3)建立重载构造函数,包含两个坐标参数x和y。(4)建立拷贝构造函数,参数为Point类对象的引用。例如,Point(Point&p){X=p.getX();Y=p.getY();}(5)参考程序#includeclassPoint{private:intX,Y;public:Point()//默认构造函数{X=0;Y=0;cout<<"constructorcalled.";}Point(intx,inty)//重载构造函数{X=x;Y=y;cout<<"constructorcall
3、ed.";}~Point()//析构函数{cout<<"destructorcalled.";}intgetX(){returnX;}intgetY(){returnY;}};voidmain(){Pointp1(5,7),p2;cout<<"p1("<4、(frequency)、电压(voltage)等私有数据成员,还有公有成员函数run()和stop()。其中,Brand为枚举类型CPU_Brand,frequency为整型数,voltage为浮点型,Type为字符数组。观察构造函数和析构函数的调用顺序。提示与分析:(1)定义枚举类型enumCPU_Brand{Intel=1,AMD};(2)声明和定义CPU类,包含品牌(Brand)、频率(frequency)、电压(voltage)等私有数据成员。例如,private:intBrand;intfrequency;floatvoltage;(3)声明5、和定义公有成员函数run()、stop(),用来输出提示信息。例如,public:voidrun();voidstop();(4)声明和定义构造函数进行对象初始化。CPU(CPU_Brandbrand,intfre,floatvol);(5)建立main()函数,在函数体中建立一个CPU类对象,并调用run和stop方法。例如,CPUcpu(Intel,400,3.0);cpu.run();cpu.stop();(6)调试操作步骤:1)按下快捷键F11(StepInto)进入单步执行状态,程序开始运行,且光标停在main()函数的入口处。2)按下快捷键6、F10(StepOver),光标下移,程序准备执行CPU对象的初始化。3)按下快捷键F11,程序准备执行CPU类的构造函数。4)连续按快捷键F10,观察构造函数。5)此时程序准备执行CPU对象的run()函数,按下快捷键F11,程序进入run()成员函数,连续按快捷键F10,直到回到main()函数。6)参照上述的方法继续执行程序,观察程序的执行顺序。(7)参考程序#includeenumCPU_Brand{Intel=1,AMD};classCPU{private:CPU_Brandbrand;intfrequency;flo7、atvoltage;public:CPU(CPU_Brandbra,intfre,floatvol){brand=bra;frequency=fre;voltage=vol;cout<<"CreateaCPU."<8、.run();cpu.stop();}(8)思考:①什么时候执行构造函数?②什么时候执行析构函
4、(frequency)、电压(voltage)等私有数据成员,还有公有成员函数run()和stop()。其中,Brand为枚举类型CPU_Brand,frequency为整型数,voltage为浮点型,Type为字符数组。观察构造函数和析构函数的调用顺序。提示与分析:(1)定义枚举类型enumCPU_Brand{Intel=1,AMD};(2)声明和定义CPU类,包含品牌(Brand)、频率(frequency)、电压(voltage)等私有数据成员。例如,private:intBrand;intfrequency;floatvoltage;(3)声明
5、和定义公有成员函数run()、stop(),用来输出提示信息。例如,public:voidrun();voidstop();(4)声明和定义构造函数进行对象初始化。CPU(CPU_Brandbrand,intfre,floatvol);(5)建立main()函数,在函数体中建立一个CPU类对象,并调用run和stop方法。例如,CPUcpu(Intel,400,3.0);cpu.run();cpu.stop();(6)调试操作步骤:1)按下快捷键F11(StepInto)进入单步执行状态,程序开始运行,且光标停在main()函数的入口处。2)按下快捷键
6、F10(StepOver),光标下移,程序准备执行CPU对象的初始化。3)按下快捷键F11,程序准备执行CPU类的构造函数。4)连续按快捷键F10,观察构造函数。5)此时程序准备执行CPU对象的run()函数,按下快捷键F11,程序进入run()成员函数,连续按快捷键F10,直到回到main()函数。6)参照上述的方法继续执行程序,观察程序的执行顺序。(7)参考程序#includeenumCPU_Brand{Intel=1,AMD};classCPU{private:CPU_Brandbrand;intfrequency;flo
7、atvoltage;public:CPU(CPU_Brandbra,intfre,floatvol){brand=bra;frequency=fre;voltage=vol;cout<<"CreateaCPU."<8、.run();cpu.stop();}(8)思考:①什么时候执行构造函数?②什么时候执行析构函
8、.run();cpu.stop();}(8)思考:①什么时候执行构造函数?②什么时候执行析构函
此文档下载收益归作者所有