面向对象实验1讲解

  • 格式:doc
  • 大小:668.50 KB
  • 文档页数:29

面向对象程序设计 实验指导书

面向对象程序设计

实验指导书

黄建灯 朱震

桂林电子科技大学信息科技学院

二〇一一年八月 面向对象程序设计 实验指导书

目录

实验一 熟悉Visual C++开发环境学会最简单的开发 ........................... 2

实验二 类和对象(一) ................................................................................ 5

实验三 类和对象(二) .......................................................................... 7

实验四 String类的定义和使用 ......................................................... 10

实验五 String类的定义和使用(续) ............................................. 12

实验六 继承与派生 ................................................................................ 14

实验七 多态性与虚函数 ........................................................................ 15

第八章 输入输出流 ............................................................................... 16

参考文献 ................................................................................................... 17

附录A C++保留字 ............................................................................ 18

附录B 运算符优先级 ....................................................................... 19

附录C ASCII字符集 ....................................................................... 20

附录D 运算符重载 ........................................................................... 21

附录E ANSI/ISO标准C++和标准C++中头文件命名规则 ........ 22

附录F C++头文件 ............................................................................. 23

附录G 系统中数据类型长度 ........................................................... 28 面向对象程序设计 实验指导书

实验一 熟悉Visual C++开发环境学会最简单的开发

1. 实验目的

熟悉Visual C++的开发环境;

了解如何编辑、编译、链接和运行一个C++程序;

2. 实验内容

2.1 熟悉Visual C++开发环境,学会创建一个新的工程;

1) 进入系统,启动Visual C++环境;

2) 创建一个新的工程

在Visual C++ 环境中,菜单File->New...,弹出一个对话框,提示新建(new);

弹出的对话框TAB缺省在Projects页面上,选择该页面的“Win32 Console Application”,在右边的Project name输入框中输入工程名字,点击“OK”弹出新建工程向导;

3) 新建向导的第一步,要求选择:

 空白工程;

 简单应用程序;

 HELLO WORLD应用程序;

 支持MFC的应用程序;

这里我们首先选择第二项:简单应用程序,点击“finish”。

4) 工程建立完成,在开发环境左侧的TAB页面中,查看ClassView和FileView内都能看到什么?

在类视图中可以看到,“简单应用程序”只有一个全局函数main,这也是应用程序的入口,和C语言中的main函数含义相同。

在文件视图中可以看到,开发环境为“简单应用程序”提供了标准全局文件“StdAfx.h”和“StdAfx.cpp”,同时提供了应用程序的源文件ProjectName.cpp。

分别点击这三个文件,可以看到源代码只是给出了程序的框架。

5) 在Visual C++ 环境中,关闭刚才新建的文件和工程,则没有了当前激活窗口,视图呈现灰色;

6) 选中菜单File->Recent Files,可以看到刚才新建的源文件,选中,则该源文件被打开。这里可以保存最近使用过的4个(该参数可修改)文件,以便下次快捷打开。

7) 选中菜单File->Recent Workspaces,可以看到刚才新建的工程,选中,则该工程被打开。这里可以保存最近使用过的4个(该参数可修改)工程,以便下次快捷打开。

2.2 打开一个工作区

如果打开刚刚关闭的workspace,可以利用菜单中的recent workspace;

如果要打开的workspace在recent中已经看不到了,就需要在“打开文件对话框”中,找到工作区的存放位置。

1. 点击菜单File->Open...,弹出打开文件对话框;

2. 找到工作区在磁盘上的存放位置;一般都有一个和工作区名字相同的文件夹,存放工作面向对象程序设计 实验指导书

区文件、该工程的头文件、源文件和资源文件等等。

3. 工作区文件是一个以.dsw为后缀的文件,因此在文件类型过滤中要注意包含;

4. 看到打开文件对话框中有projectname.dsw,点击即可。

2.3 编译运行“简单应用程序”,看看这个程序框架提供了什么?

1) 编译有三种方法:

单击工具栏当中的Build图标;

单击菜单Build->Build;

使用快捷键F7;

2) 运行有三种方法:

单击工具栏当中的Run图标;

单击菜单Build->Run;

使用快捷键F5;

“简单应用程序”没有提供任何实质性的功能,“press any key to coontinue”就可以退出程序了。

2.4 尝试编辑一个小的示范程序,并编译运行;

按照上面的方法新建一个源文件,输入下面代码:

#include

int main()

{

cout<<”Hello World\n”;

cout<<”Welcome to C++ Programming\n”;

cout<<”This is my first cpp source file\n”;

return 0;

}

2.5 了解Visual C++ 中的调试工具,学会设置断点和单步跟踪;

1) 设置断点的方法:

首先将程序编译通过;

将光标置于要设置断点的代码行;

选择工具栏的Breakpoint图标(或者快捷键F9),一个圆点显示在行首,表明该行已经设置了断点,这是个开关动作,重复上述动作,断点被去掉,点击可以在增加断点和去掉断点之间切换;

2) 运行程序,到断点处程序中断;

3) 尝试单步跟踪,在程序设置断点后,运行进入Debug状态,菜单增加了Debug项,点击菜单Debug->Step Over(或者快捷键F10),每触发一次,程序运行一步;上面的小程序,每运行一步,打印一行,可以观察到单步跟踪的效果;

4) 调试工具可以完成以下任务,大家可以在调试时尝试:

设置断点

单步跟踪

监视变量、寄存器和内存

查看汇编代码和调用堆栈

修改代码和变量值

面向对象程序设计 实验指导书

2.6 写一个短小的windows程序,体会消息触发机制;

1) 创建一个新的 “Win32 Console Application”,在选项中选择hello world应用程序;

2) 点击“finish”完成创建工程,可以看到系统提供了程序框架,包括头文件、源文件和资源文件;

3) 类视图中可以看到WinMain全局函数和WndProc全局函数;

4) 编译运行,看看系统提供的hello world应用究竟是什么?

5) 点击左边的“WndProc”函数,右边的视图就跳到了这个函数相应的位置,在该函数的switch分支中增加:

case WM_LBUTTONDOWN:

MessageBox(NULL, “pressed the left button of mouse!”, “Message”, NULL);

break;

编译运行,在窗口范围内,点击鼠标左键,看看有什么?

3. 思考题

课后自己查资料,结合我们这次实验的实例,了解什么是消息触发机制。面向对象程序设计 实验指导书

实验二 类和对象(一)

1. 实验目的

(1) 掌握声明类的方法,类和类的成员的概念以及定义对象的方法。

(2) 初步掌握用类和对象编制基于对象的程序。

(3) 学习检查和调试基于对象的程序。

2. 实验内容

(1) 有以下程序:

#include

using namespace std;

class Time

{public:

int hour;

int minute;

int sec;

};

int main()

{Time t1;

cin>>t1.hour;

cin>>t1.minute;

cin>>t1.sec;

cout<

return 0;

}

改写程序,要求:

A) 将数据成员改为私有的;

B) 将输入和输出功能改为成员函数实现;

C) 在类体内定义成员函数。

然后编译和运行程序。请分析什么成员应指定为公有、什么指定我私有的?什么函数最好放在类中定义?什么函数最好放在类外定义?

(2) 分别给出如下的3个文件:

A) 含类定义的头文件student.h。

//student.h

class Student

{public:

void display();