C++实验指导书第四版.docx
- 文档编号:7637703
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:25
- 大小:188.07KB
C++实验指导书第四版.docx
《C++实验指导书第四版.docx》由会员分享,可在线阅读,更多相关《C++实验指导书第四版.docx(25页珍藏版)》请在冰豆网上搜索。
C++实验指导书第四版
《C++程序设计》
实验指导书
市级精品课程《VC++与面向对象技术》课程组
2012-2-22
目录
实验一熟悉VisualC++开发环境及上机过程1
实验二类的定义和对象的使用7
实验三多文件结构及静态成员和对象数组的使用8
实验四类的继承和派生10
实验五多继承12
实验六虚函数的使用14
实验七抽象类的使用17
实验八运算符重载和友元19
实验九STL的使用20
实验十利用AppWizard向导生成Windows应用程序22
实验一熟悉VisualC++开发环境及上机过程
一、实验目的
1、了解和使用VC集成开发环境;
2、熟悉VC环境的基本命令和功能键;
3、熟悉常用的功能菜单命令;
4、学习使用VC++环境的帮助;
5、学习完整的C++程序开发过程;
6、理解简单的C++程序结构。
二、实验内容
使用VisualC++6.0集成环境来编辑、编译并运行程序1:
#include
usingnamespacestd;
classTAdd
{
public:
TAdd(inta,intb)
{
x=a;y=b;
cout<<"constructor."< cout< } ~TAdd() { cout<<"destructor."< cout< } intadd(){returnx+y;} private: intx,y; }; intmain() { TAddp1(3,4); cout<<"x+y="< TAddp2(30,40); cout<<"x+y="< return0; } 三、实验步骤 启动VisualC++6.0——选择菜单“开始/程序/MicrosoftVisualStudio6.0/MicrosoftVisualC++6.0”,启动后的用户界面如图1-1所示。 图1-1VisualC++6.0用户界面 1、创建新工程 (1)单击菜单“文件/新建”,显示“新建: 对话框,如图1-2所示。 (2)在此对话框的列表栏中,选择“Win32ConsoleApplication”(Win32控制台应用程序”)。 在“工程”栏中输入一个工程名,如实验一。 在位置文本框中选择工程所在的路径,如图中所示H: \C++实验\实验一。 单击“确定”按钮。 图1-2“新建”对话框 (3)在弹出的“Win32ConsolApplication-Step1of1”对话框中选择Anemptyproject单选项。 然后单击“Finish”按钮,如图1-3所示。 图1-3“Win32ConsolApplication-Step1of1”对话框 (4)在“新建工程信息”对话框中单击“确认”按钮,完成工程创建过程。 2、创建C++源程序文件 (1)编辑C++源程序: 编辑C++源程序时,选择“文件”菜单项,在弹出的子菜单中选择新建(热键为Ctrl+N),出现如图1-4所示的窗口。 图1-4“新建”窗口 (2)选择“文件”选项卡,在此属性页中选择“C++SourceFile”,如图1-4所示,单击“确定”,出现如图1-5所示的编辑屏幕。 图1-5“C++”源程序编辑 (3)在“C++源程序编辑”窗口下编辑C++源程序。 在编辑窗口键入C++源程序。 如图1-6所示,输入以下源程序: 图1-6编辑C++源程序 3.编译连接和运行源程序 (1)选择菜单项“编译”,出现“编译”的下拉菜单,在该下拉式菜单中选择“编译eg1-1.cpp”菜单项,这时系统开始对当前的源程序进行编译,在编译过程中,编译器会将错误信息显示在屏幕下方的“编译”窗口中。 错误信息包括错误所在大致位置和错误的性质。 用户可根据这些错误信息进行修改。 上述程序的“编译”窗口,如图1-7所示。 图1-7“编辑”窗口 (2)编译无错误后,可进行连接生成可执行文件(.exe),这时选择“编译”下拉菜单中的“构件eg1-1.exe”选项。 “编译”窗口出现如图1-8所示的信息说明编译连接成功,并生成以源文件名为名字的可执行文件(eg1-1.exe)。 图1-8编译连接信息 (3)执行可执行文件的方法是选择“编译”菜单项中“执行eg1-1.exe”选项。 这时,运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果的窗口中,如图1-9所示。 图1-9运行C++程序结果 4.关闭工作区、打开工作区 单击菜单“文件/关闭工作区”,关闭工作区。 单击菜单“文件/打开工作区”,在弹出的对话框中选定“H: \C++实验\实验一\实验一.dsw”,单击“打开”按钮,则可打开工作区,对已建立的工程文件进行修改。 5.根据实验步骤1-4,建立、编译并运行实验程序1。 四、实验要求 1. 复习教材有关内容。 2. 掌握VC控制台应用程序的开发、调试步骤。 3. 完成实验报告。 实验二类的定义和对象的使用 一、实验目的 1、掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性; 2、掌握类对象的定义; 3、理解类的成员的访问控制的含义,公有、私有和保护成员的区别; 4、掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。 能够根据给定的要求定义类并实现类的成员函数。 二、实验内容 1、定义一个学生类,其中有3个数据成员有学号、姓名、年龄,以及若干成员函数。 同时编写主函数使用这个类,实现对学生数据的赋值和输出。 要求: (1)使用成员函数实现输入、输出; (2)使用构造函数和析构函数实现对数据的输入、输出; (3)编写主函数,定义对象,完成相应功能。 2、定义日期类Date。 要求: (1)可以设置日期; (2)日期加一天操作; (3)输出函数,输出格式为“XXXX年XX月XX日”; (4)编写主函数,定义对象,完成相应功能。 三、实验要求 1、写出程序,并调试程序,要给出测试数据和实验结果。 2、整理上机步骤,总结经验和体会。 3、完成实验报告和上交程序。 实验三多文件结构及静态成员和对象数组的使用 一、实验目的 1、掌握自定义头文件的方法; 2、学会建立和调试多文件程序; 3、了解静态成员的使用; 4、掌握对象数组的使用。 二、实验内容 1、编写一个函数,求从n个不同的数中取r个数的所有选择的种数。 要求: (1)将main()函数放在一个.cpp文件中; (2)将fn(intn),Cnr(intn,intr)放在另一个.cpp文件中; (3)将函数原型说明放在一个头文件中; (4)建立一个项目,将这三个文件加到你的项目中,编译连接使你的程序正常运行。 2、上机调试例2-30,在Employee类中增加一个静态数据成员来设置本公司员工编号基数,新增加的员工编号将在创建对象的同时自动在基数上增加。 另外,将Employee类的声明部分和实现部分分成两个文件来实现。 3、上机调试例3-14,假设有一个点类point,具有两个实数坐标。 希望主程序使用这个类完成下述功能: (l)主程序为类point申请10个连续存储空间。 (2)要求调用一个函数Set()从键盘输入10个对象的属性,并顺序存入申请的内存中。 (3)要求调用一个函数Display()显示10个对象的值。 (4)要求调用一个函数Lenth(),计算将这些点连成一条折线时,这条折线的长度。 (5)程序结束时,删除申请的内存。 (6)演示析构对象(动态对象或堆对象)的执行顺序。 设计这个类和各个函数并验证运算结果的正确性。 三、实验要求 1、写出程序,并调试程序,要给出测试数据和实验结果。 2、整理上机步骤,总结经验和体会。 3、完成实验报告和上交程序。 实验四类的继承和派生 一、实验目的 1、理解继承的含义,掌握派生类的定义方法和实现; 2、理解公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员; 3、理解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员; 4、条件编译的运用。 多文件结构的进一步使用。 二、实验内容 1、编写一个程序计算出球、圆柱和圆锥的表面积和体积。 要求: (1)定义一个基类,至少含有一个数据成员半径,并设为保护成员; (2)定义基类的派生类球、圆柱、圆锥,都含有求表面积和体积的成员函数和输出函数; (3)编写主函数,求球、圆柱、圆锥的表面积和体积。 2、编写一个学生和教师数据输入和显示程序。 其中,学生数据有编号、姓名、班级和成绩,教师数据有编号、姓名、职称和部门。 要求: (1)将编号、姓名输入和显示设计成一个类person; (2)设计类person的派生类: 学生类student和教师类teacher; (3)各个类的声明放在相应的头文件中(*.h),类的实现放在相应的实现文件中(*.cpp): person.h,person.cpp,student.h,student.cpp,teacher.h,teacher.cpp; (4)编写一个主文件(SY4_2.cpp),在该文件中分别定义student、teacher的对象,完成相应功能。 三、实验要求 1、写出程序,并调试程序,要给出测试数据和实验结果。 2、整理上机步骤,总结经验和体会。 3、完成实验报告和上交程序。 实验五多继承 一、实验目的 1、理解多继承的概念 2、多继承中构造与析构的应用。 二、实验内容 1、输入以下程序,分析运行结果。 #include usingnamespacestd; classB1 { public: B1(inti) { b1=i; cout<<"构造函数B1."< voidprint(){cout< private: intb1; }; classB2 { public: B2(inti) { b2=i; cout<<"构造函数B2."< voidprint(){cout< private: intb2; }; classB3 { public: B3(inti) { b3=i; cout<<"构造函数B3."< intgetb3(){returnb3;} private: intb3; }; classA: publicB2,publicB1 { public: A(inti,intj,intk,intl): B1(i),B2(j),bb(k) { a=l; cout<<"构造函数A."< voidprint() { B1: : print(); B2: : print();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 实验 指导书 第四