2.使用debug调试功能观察程序lab4_1.cpp的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。调试方法参考前面的介绍。
3.测试能否在main函数中获取类的对象的属性值,并分析原因。为CPU类添加一些函数,以设置和获取类的对象的属性的值,如用GetRank获取rank的值,用SetRank设置rank的值。并在主函数中测试它们。分别将这些函数设置成private或public,看看结果如何,进而分析成员的不同访问属性的差别。
4.首先定义CPU类、RAM类、CDROM类。再定义computer类:定义私有数据成员cpu、ram、cdrom,定义公有成员函数run、stop,可在其中输出提示信息。在主程序中定义一个computer的对象,调用其成员函数,观察类对象及其成员的构造与析构顺序,以及成员函数的调用。并使用debug功能观察程序的运行流程。示例程序lab4_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!\ }
CPU() {
cout << \构造了一个CPU!\ };
~CPU () {
cout << \析构了一个CPU!\
20
}
void Run() {cout << \开始运行!\ void Stop() {cout << \停止运行!\};
class RAM {
public:
RAM () {
cout << \构造了一个RAM!\ }
~RAM () {
cout << \析构了一个RAM!\ }
void Run() {cout << \开始运行!\ void Stop() {cout << \停止运行!\};
class CDROM {
public:
CDROM (){ cout << \构造了一个CDROM!\ ~CDROM () {
cout << \析构了一个CDROM!\ }
void Run() {cout << \开始运行!\ void Stop() {cout << \停止运行!\};
class COMPUTER {
private:
CPU cpu; RAM ram;
CDROM cdrom; public:
21
COMPUTER() {
cout << \构造了一个COMPUTER!\ }
~COMPUTER () {
cout << \析构了一个COMPUTER!\ }
void Run() {
cout << \开始运行!\ cpu.Run(); ram.Run(); }
void Stop() {
ram.Stop(); cpu.Stop();
cout << \停止运行!\ } };
void main() {
COMPUTER a; a.Run(); a.Stop(); }
5.定义类Point,并测试之。用Debug功能跟踪构造函数的调用。示例程序lab4_2.cpp代码如下:
#include
private: int X,Y; public:
Point(int xx=0,int yy=0){X=xx;Y=yy;} Point(Point &p);
int GetX(){ return X;}
22
int GetY(){ return Y;} };
Point::Point(Point &p) {
X=p.X; Y=p.Y;
cout<<\拷贝构造函数被调用\}
void main(void) {
Point A(4,5); Point B(A);
cout<
23
实验五 C++程序的结构
一、实验目的
1.观察程序运行中变量的作用域、生存期和可见性。 2.学习类的静态成员的使用。
3.学习多文件结构在C++程序中的使用。 二、实验课时
2学时 三、实验任务
1.输入、编译、运行程序lab5_1.cpp,观察变量x、y的值。
2.改写实验四中的Point类。在Point.h中定义类的属性及成员函数申明; 在Point.cpp中定义类的成员函数实现;在lab5_2.cpp中测试这个类。注意多文件结构的编译、编辑方法、头文件的包含关系,观察相应的成员变量取值的变化情况。
3. 定义一个 Cat类,拥有静态数据成员CountOfCats,记录Cat的个体数目;静态成员函数 GetNumOfCats()读取CountOfCats的值。设计程序测试这个类,体会静态数据成员和静态成员函数的用法。
4. 定义Boat和Car两个类,二者都有weight属性,定义二者的一个友元函数totalWeight(),计算二者的重量和。 四、实验步骤
1.运行lab5_1.cpp程序,观察程序输出,加深对全局变量、局部变量的作用域、生存期的理解。示例程序lab5_1.cpp代码如下:
include
cout << \ cout << \
24
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库《C++与面向对象程序设计》实验指导书(6)在线全文阅读。
相关推荐: