C++类与对象实验报告
造函数、析构函数、成员函数的执行顺序。
3. 调试操作步骤如下:
(1) 单击Build | Start Debug | Step Into命令,或按下快捷键F11,
系统进入单步执行状态,程序开始运行,一个DOS窗口出现,此时Visual Studio中光标停在main()函数的入口处;
(2) 从Debug菜单或Debug工具栏中单击Step Over,此时,光标下移,
程序准备执行CPU对象的初始化;
(3) 单击Step Into,程序准备执行CUP类的构造函数;
(4) 连续单击Step Over,观察构造函数的执行情况,直到执行完构造
函数,程序回到主函数;
(5) 此时程序准备执行CPU对象的run()函数,单击Step Into,程序
进入run()成员函数,连续单击Step Over,直到回到main()函数;
(6) 继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类
的构造函数、析构函数、成员函数的执行顺序的认识;
(7) 再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。 4. 首先定义CPU类(可使用上面的CPU类)、RAM类、CDROM类。再定义Computer类:定义私有数据成员cpu、ram、cdrom,定义公有成员函数run、stop,可在其中输出提示信息。在主程序中定义一个Computer的对象,调用其成员函数,观察类对象及其成员变量的构造与析构顺序,以及成员函数的调用。程序名:lab3_2.cpp。
5. 使用debug调试功能观察lab3_2.cpp程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序,特别注意观察成员变量的构造与析构顺序
lab3_1.cpp程序: #include
enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7}; //定义枚举类型 class CPU {
private:
CPU_Rank rank; int frequency; float voltage; public:
CPU (CPU_Rank r, int f, float v) {
rank=r;
frequency=f;
voltage=v;
cout
~CPU(){
cout
实验程序
CPU_Rank GetRank() { return rank;}
int GetFrequency() { return frequency;} float GetVoltage() { return voltage; }
void SetRank(CPU_Rank r) { rank = r; }
void SetFrequency(int f) { frequency = f; } void SetVoltage(float v) { voltage = v; }
void Run() {cout
void main() {
CPU a(P6,300,2.8); a.Run(); a.Stop(); }
lab3_2.cpp程序:
#include
enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7}; //定义枚举类型 class CPU {
private: CPU_Rank rank; int frequency; float voltage; public:
CPU (CPU_Rank r, int f, float v) { rank=r; frequency=f; voltage=v; cout
CPU_Rank GetRank() { return rank;} int GetFrequency() { return frequency;}
float GetVoltage() { return voltage; }
void SetRank(CPU_Rank r) { rank = r; } void SetFrequency(int f) { frequency = f; } void SetVoltage(float v) { voltage = v; }
void Run() {cout
class RAM {
public:
RAM () { cout
void Run() {cout
class CDROM {
public:
CDROM (){ cout
void Run() {cout
class COMPUTER {
private: CPU cpu; RAM ram;
CDROM cdrom; public: COMPUTER() { cout
void Run() { cout
void main() { COMPUTER a; a.Run(); a.Stop(); } Lab3_1:
实验结果 及 分析
Lab3_2: