指导书实验五.docxVIP

  • 5
  • 0
  • 约4.12千字
  • 约 11页
  • 2018-08-22 发布于贵州
  • 举报
指导书实验五

实验5类与对象的应用(4学时) 一、实验目的: 1掌握类和对象的概念、定义和使用方法。 2掌握不同特性对象成员的访问方法,以及this指针的概念和使用方法。 3掌握构造函数和析构函数的使用方法。 二、实验内容: 1.写出下列程序的执行结果,然后上机进行验证。 #include iostream.h #include iomanip.h class X { int n; public: X( ); X(int a); ~X( ); }; X::X( ):n(3) { cout调用构造函数 X()setw(8)nendl; } X::X(int a ):n(6) { n=n+a; cout调用构造函数 X(int a)setw(5)nendl; } X::~X() { cout调用析构函数 nendl; } void main() { X a; cout------a-------endl; X b(7); cout------b--------endl; cout析构函数执行情况:endl; } ⑴提示 通过设置断点,以单步执行的方式跟踪构造函数、析够函数的执行顺序。所谓断点就是程序运行时需要暂时停止执行的语句。程序员可以为程序需要观察的语句设置断点,以“单步执行”的方式跟踪和检查程序当前的各种状态值。 在C++程序文件中设置断点,并以“单步执行”的方式跟踪程序执行的过程和检查变量的值的操作步骤是: 在主窗口中打开源文件“ex10_8” 把光标移动到需要设置断点的语句,单击鼠标右键,弹出如图10-8所示的快捷菜单,单击“Insert/Remove Breakpoint”菜单项,在语句左边空白处出现一个红色的圆点,再选择一次为为取消断点。也可以选择工具栏上的按钮,单击一次设置断点,再单击一次为取消断点。注意,断点语句应该是有变量的语句。可以在程序中设置多个断点,但断点不能太多。 图10-8 添加断点的快捷菜单 单击“组建/开始调试/Go”菜单项或按F5功能键,如图10-9所示,或按工具栏上的按钮,系统开始执行程序。进入调试状态后,菜单栏上的“组建”菜单项变为“调试”菜单项,主窗口中出现调试工具栏(如果没有出现的化,将鼠标位于工具栏上单击右键,在下拉菜单项中选择“调试”,调试工具栏就会出现)。执行到断点语句“cout调用构造函数 X()setw(8)nendl;”时,程序的执行进入调试状态,在主窗口底部自动弹出变量窗口,显示断点出现的变量的值。如图10-10所示。通过主窗口的菜单“查看/调试窗口”或通过组合键Alt+3~Alt+8打开各个调试窗口,以查看当前程序的执行情况。 若要停止调试程序,可以单击“调试/Stop Debugging”菜单项,或单击工具栏上的按钮,系统停止调试程序。 图10-9 单步调试 图10-10 单步调试状态下的主窗口 ⑵要求 在上述程序中设置断点,观察构造函数、析构函数的执行顺序及变量n值的变化; 对象作为类的数据成员,测试构造函数和析构函数的调用顺序;定义类CTs类,有两个数据成员,分别是类CStudent、类CTeacher的对象。定义如下: classCStudent { public: CStudent() //学生类构造函数 { coutconstructing studentendl; } ~CStudent() //学生类析构函数 { coutdenstructing studentendl; } }; classCTeacher { public: CTeacher() //教师类构造函数 { coutconstructing teacherendl; } ~CTeacher() //教师类析构函数 { coutdestructing teacherendl; } }; class CTs { CStudent student; //学生对象数据成员 CTeacher teacher; //教师对象数据成员 public: CTs() //教师学生类构造函数 { coutcostructingtsendl; } ~CTs() //教师学生类析构函数 { coutdestructing tsendl; } }; ⑶写实验报告 2.定义一个学生通讯录类,数据成员包括:学号、姓名、院系、通讯地址、电话;成员函数包括:输出各个数据成员的值,分别设置和获取各个数据成员的值。 ⑴提示 由于姓名、院系和通讯地址的数据长度是可变的,可使用动态的数据结构。电话可以用一个字符数组存放。将数据成员均定义为私有的。用一个成员函数输

文档评论(0)

1亿VIP精品文档

相关文档