面向对象程序设计(C++) 实验指导书
面向对象程序设计c实验指导书

实验一熟悉VC++IDE开发环境一、实验目的一、熟悉VC++集成开发环境,熟练把握VC++项目工作区、各类编辑器、菜单栏和工具栏的利用。
二、把握如何编辑、编译、连接和运行一个C++程序。
3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。
二、实验要求一、分析以下程序运行的结果。
程序一:#include <>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}程序二:#include <>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}程序三:#include <>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}程序四:#include <>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}程序五:#include <>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}实验二 C++对C的扩充一、实验目的一、了解在面向对象程序设计进程中C++对C功能的扩充与增强,并擅长在编写程序的进程中应用这些新功能。
《C++面向对象程序设计》实验指导书

(4) 在Visual C++6.0 开发环境中编辑、编译、运行下面的程序,体会C++程序中的输入输 出流类对象的输入和输出操作。
// I/O stream 单行注释(single line comment) #include <iostream> using namespace std; int main( ) { int i; float f; char s[80]; cout <<"Enter an integer,float,and string:"; cin >>i>>f>>s; cout <<"Here's your data:"<<i<<' '<<f<<endl<<s<<'\n'; return 0; }
实验2
1. 实验目的
C ++语言程序设计(1)
掌握C++注释、常量、变量等的使用方法;掌握C++的输入、输出流库的使用方法;初步掌 握函数的使用方法
2. 实验要求
(1) 掌握程序设计的基本算法。 (2) 理解函数原型的作用。 (3) 理解函数的调用。
3. 实验内容
(1) 编辑并编译下面的C++程序段,并尝试修改该程序,使其能够通过编译检查。
图2
Visual C++6.0的新建对话框的项目标签
然后出现如图3的对话框,选择An empty project(空项目),点击Finish按钮,
图3
控制台应用对话框
11427-C++面向对象程序设计-实验指导书

11427-C++面向对象程序设计-实验指导书实验1 环境熟悉和类与对象1.实验目的(1)熟悉上机环境,了解编译过程中常见的错误与解决办法。
(2)学会编写简单的C++程序并会用debug调试程序。
(3)观察构造函数和析构函数的执行过程。
(4)掌握动态内存分配的两个运算符的使用(5)掌握函数参数的三种传递方式。
(6)学习利用友元求解问题。
2.实验内容(1)定义一个学生类,学生信息有学号、姓名和成绩。
成绩包括计算机、英语、数学成绩和平均分。
要求利用队列实现学生的入队、出队和显示等功能。
算法思路:定义一个类Student,数据成员有:学生信息,进行入队、出队和显示操作的front(队头)、rear(队尾)和num(统计队列中元素的个数),其中学生信息定义成结构体类型的数组;成员函数有学生的入队操作、出队操作和显示操作,通过构造函数对学生信息进行初始化。
(2)定义一个图书类,图书信息有图书名称、作者、出版社、价格。
要求利用栈实现图书的入库、出库和显示等功能。
算法思路:定义一个类Stack,数据成员有:图书信息,进行入库、出库和显示操作的top(栈顶指针),其中图书信息定义成结构体类型的数组;成员函数有图书的入库、出库和显示操作,通过构造函数对图书信息进行初始化。
(3)有Distance类和Point类,将Distance类定义为Point类的友元类来实现计算两点之间距离。
实验2 函数重载与内联函数1.实验目的(1)掌握函数重载的应用。
(2)理解内联函数的作用,掌握内联函数的应用。
2.实验内容(1)利用重载求两个整数、三个整数和四个整数的最小值。
(2)利用重载计算长方形、正方形、圆、梯形的面积。
(3)利用重载编写求整数绝对值和求实数绝对值。
(4)利用重载实现对10个整数和10个实数的排序。
(5)判断一个字符是否为数字字符,要求用内联函数实现。
实验3 常量与引用1.实验目的(1)理解常量的含义与#define的区别。
《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

面向对象程序设计实验指导书(适用:电子信息11级)彭召意陶立新编写计算机与通信学院2014.9目录实验一 C++基础的应用 (1)实验二类和对象的应用 (3)实验三类的构造函数、析构函数的应用 (4)实验四友员和运算符重载 (5)实验五类的继承与派生 (6)实验六类的多态性与虚函数 (7)附录:各实验的程序代码 (8)实验一 C++基础的应用(实验课时:2 实验性质:设计)实验名称: C++基础的应用实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。
(2)练习C++函数的定义及使用;(3)练习C++数组的定义及使用;(4)练习C++指针的定义及使用;(5)练习C++结构体的定义及使用;(6)练习多文件的程序的编译和运行方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。
实验内容: (1)熟悉Visual C++6.0编译系统的常用功能,特别是debug调试功能;(2)编程1:编写一个程序c1.cpp,用来求2个或3个整数的最大数。
要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和int max( int a, int b,int c)。
(3)编程2:编写一个程序c2.cpp,求:a!+ b! + c!的值。
要求:使用递归函数。
主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;(4)编程3:有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号;(5)编程4:建立一个动态链表并进行输出和删除管理。
链表的每个节点为学生信息,包括:学号,姓名,性别,下一学生信息的指针。
程序的工作:(a)建立三个学生信息的节点,然后顺序输出该三个学生信息;(b)删除中间的节点,再顺序输出学生信息。
面向对象程序设计C__实验指导书

实验1Visual C++6.0开发环境应用入门(3学时)1.实验目的1.了解Visual C++6.0的特点。
1.熟悉Visual C++6.0的开发环境。
2.学习用Visual C++6.0编写标准的C++控制台程序。
2.实验任务使用Visual C++来建立一个非图形化的标准C++程序,编译、运行以下程序:#include<iostream.h>C++简单程序设计(3学时)void main(void){cout<<”Hello! \n”;cout<<”Welcome to c++! \n”;}3.实验步骤1.启动Visual C++6.0开发环境从“开始”菜单中选择“程序”| Microsoft Visual Studio 6.0 | Microsoft Visual C++6.0”,显示Visual C++6.0开发环境窗口。
2.创建一个项目(1)单击File 菜单中的New选项,显示New(新建)对话框(如图1-1所示)。
(2)单击Project (项目)标签,在Projects 选项卡中,选择Win32 Console Application(Win 32控制台应用程序)。
在Location(位置)文本框中指定一个路径,在Preject Name (项目名称)文本框中为项目输入一个名字lab1_1,单击OK按钮。
(3)在弹出的Win32 Console Application-Step 1 of 1对话框中选择An Empty Project单选项,然后单击Finish(完成)按钮(如图1-2所示)。
(4)最后在New Project Information 对话框中单击OK按钮,完成项目建立。
图1-1New对话框图1-2创建控制台应用程序第一步3.建立C++源程序文件(1)选择菜单命令Project |Add to Project | New, 弹出New对话框。
面向对象程序设计(C++)实验指导书-2015

面向对象的程序设计(C++)实验指导书实验1 简单C++程序开发(2学时)一、实验目的1.熟悉VC++6.0编程环境;2.编制简单C++程序并运行;3. 熟悉C++的编辑、编译、连接和运行过程。
二、实验内容及步骤1.使用VisualC++6.0建立一个标准C++程序,编译、运行以下程序:具体实验步骤:1)启动Visual C++ 6.0开发环境从“开始”菜单中选择“程序”| Microsoft Visual Studio 6.0 | Microsoft Visual C++6.0,显示Visual C++ 6.0开发环境主窗口,如图1-1所示。
在Visual C++主窗口的顶部是菜单栏,左侧为项目工作区窗口,右侧是程序编辑程序编辑区 项目工作区菜单栏 图1-1 Visual C++6.0的主窗口窗口。
工作区窗口用来显示所设定的工作区的信息,程序编辑窗口用来输入和编辑源程序。
2)建立和运行只包含一个C++源程序的方法①建立只包含一个C++源程序的方法一个最简单的C++程序只包含一个源程序的文件,建立这样的一个C++源程序的方法是在Microsoft Visual C++主窗口的菜单栏中选择“File →New”命令,弹出“New”对话框,单击“Files”选项卡,在其列表框中选择“C++ Source File”选项,表示要建立一个新的C++源程序文件,然后在对话框右半部分的Location文本框中输入准备编辑的源程序文件的存储路径(假设为F:\C++),表示准备编辑的源程序文件将存放在F盘C++子目录下,在其上方的File文本框中输入准备编辑的源程序文件的名字(假设为example1.cpp),如图1-2所示。
图1-2 Files中New选项卡单击“OK”按钮回到主窗口,在程序编辑窗口编辑源程序文件,如图1-3所示。
选择“File →Save”命令或快捷键Ctrl+S保存源程序文件。
也可以选择“File →Save As”命令指定新的文件名和路径,这时输入和编辑的源程序就以example1.cpp 为文件名存放在F:\C++子目录下。
《面向对象程序设计》实验指导书(新)

《面向对象程序设计》实验指导书(新)《面向对象程序设计》实验指导书一、课程教学与实验教学计划学时比:48/16二、适用专业:信息管理与信息系统三、实验目的基本要求能够充分理解面向对象程序设计的思想和应用方法。
能够使用面向对象编程语言进行相应的程序设计和开发。
理解面向对象的基本思想、概念和特性以及面向对象的分析、建模、设计技术与方法。
掌握C++语言基本构成、类与对象、消息传递与函数、函数与运算符重载、继承性、多态性与虚拟函数、数据封装和隐藏及Windows 程序设计基础。
通过实验动手实践,使学生能够掌握面向对象程序设计的特征和基本思想,以及相应的具体实现和Windows程序设计基础知识。
四、实验内容实验一:循环控制(一)实验目的要求:熟悉VC++集成开发环境,学习使用控制台应用程序;创建工程,建立可执行文件并执行,观察结果。
掌握变量的声明和定义方法,掌握循环语句和条件语句的定义、作用和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:1.编程求1!+2!+3!+4!+…+12!。
2.编程求所有的3位数素数,且该数是对称的。
所谓“对称”是指一个数,倒过来还是该数。
例如,375不是对称数,因为倒过来变成了573。
实验二:递归函数(一)实验目的要求:掌握函数的概念和使用方法,掌握递归函数的概念和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:1.用递归函数来求1!+2!+3!+…+12!。
2.用递归的方法建立一个函数int fibonacci(int n),求Fibonacci数列中第n个数的值。
实验三:用气泡法排序(一)实验目的要求:掌握文件读写的方法,掌握递归函数的概念和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:建立一个文件,文件中包含一系列数,用这些数构成一个数组,并按照数值,为这个数组从小到大排序,把排序结果输出到另一个文件中。
《C--面向对象程序设计》实验指导书(彭成)

《C++面向对象程序设计》实验指导书主讲:彭成湖南工业大学计算机学院2016-9-20目录实验一 DEV C++开发环境及C++程序的上机过程一、实验目的1、了解和使用C++集成开发环境;2、熟悉C++环境的基本命令和功能键;3、熟悉常用的功能菜单命令;4、学习使用C++环境的帮助;5、学习完整的C++程序开发过程;6、理解简单的C++程序结构二、实验内容使用Visual C++ 6.0集成环境来编辑、编译并运行下面简单C++程序:1.#include <iostream>using namespace std;int main(){cout<<"This is a C++ program.\n";}2.#include <iostream>using namespace std;int max(int,int); //声明自定义函数int main() //主函数{int a,b,c;cout<<"input two number:\n";cin>>a>>b;c=max(a,b); //调用max函数,将得到的值赋给Ccout<<"max="<<c<<endl;}int max(int x,int y) //定义max函数,函数值为整型,形式参数x,y为整型{int z; //max函数中的声明部分,定义本函数中用到的变量z为整型if(x>y) z=x;else z=y;return(z); //将z的值返回,通过max带回调用处}三、实验步骤Dev-C++是一个Windows环境下C/C++的集成开发环境(IDE),它是一款自由软件,遵守GPL许可协议分发源代码。
使用起来非常方便。
对于初学者而言还是有些迷茫。
首先来看看如何建立一个项目。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验 1 类和对象
1.1实验目的和要求
(1) 理解类和对象的概念, 掌握声明类和定义对象的方法。
(2) 掌握构造函数和析构函数的实现方法。
(3) 初步掌握使用类和对象编制C++程序。
(4) 掌握对象数组、对象指针和string类的使用方法。
(5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。
(6) 掌握类对象作为成员的使用方法。
(7) 掌握静态数据成员和静态成员函数的使用方法。
(8) 理解友元的概念和掌握友元的使用方法。
1.2实验内容和步骤
1.输入下列程序
//test4-1.cpp
#include<iostream>
using namespace std;
class Coordinate
{ public:
Coordinate(int x1,int y1)
{ x=x1;
y=y1;
Coordinate(Coordinate &p);
~Coordinate()
{ cout<<”Destructor is calleded\n”;}
int getx()
{return x;}
int gety()
{return y;}
private:
int x,y;
};
Coordinate::Coordinate(Coordinate &p)
{ x=p.x;
y=p.y;
cout<<”copy-initialization Constructou is called\n”;
}
int main()
{ Coordinate p1(3,4);
Coordinate p2(p1);
Coordinate p3=p2;
cout<<”p3=(”<<p3.getx()<<”,”<<p3.gety()<<”)\n”;
return(0);
}
(1)写出程序的运行结果。
(2)将Coordinate类中带有两个参数的构造函数进行修改, 在
函数体内增添下述语句:
cout<<”Constructor is called.\n”;
写出程序的运行结果, 并解释输出结果。
( 3) 按下列要求进行调试:
在主函数体内, 添加下列语句:
Coordinate p4;
Coordinata p5(2);
调试程序时会出现什么错误? 为什么? 如何对已有的构造函数进行适当修改?
( 4) 经过以上第( 2) 步和第( 3) 步的修改后, 结合运行结果分析: 创立不同的对象时会调用不同的构造函数。
2.设计一个4*4魔方程序, 让魔方的各行值的和等于各列值的和, 而且等于两对角线值的和。
例如一下魔方:
31 3 5 25
9 21 19 15
17 13 11 23
7 27 29 1
各行、各列以及对角线值的和都是64.
【提示】
求4*4魔方的一般步骤如下:
( 1) 设置初始魔方的起始值和相邻元素之间的差值。
例如上述魔方的初始魔方的起始值( first) 和相邻元素之间的差值(step)分别为:
first=1
step=2
(2)设置初始魔方元素的值。
例如上述魔方的初始魔方为:
1 3 5 7
9 11 13 15
17 19 21 23
25 27 29 31
( 3) 生成最终魔方。
方法如下:
①求最大元素值与最小元素值的和sum, 该实例的sum是:
1+31=32
②用32减去初始魔方所有对角线上元素的值, 然后将结果放在原来的位置, 这样就可求得最终魔方。
本例最终魔方如下:
31 3 5 25
9 21 19 15
17 13 11 23
7 27 29 1
本题的魔方类magic的参考框架如下:
class magic
{ public:
void getdata();
void setfirstmagic();
void generatemagic();
void printmagic();
private:
int m[4][4];
int step;
int first;
int sum;
};
3.设计一个用来表示直角坐标系的Location类, 在主程序中创立类Location的两个对象A和B, 要求A的坐标点在第3象限, B的坐标在第2象限, 分别采用成员函数和友元函数计算给定两个坐标点之间的距离, 要求按如下格式输出结果:
A(x1,y1),B(x2,y2)
Distance1=d1
Distance1=d2
其中: x1、 x2、 y1、 y2为指定的坐标值, d1和d2为两个坐标点之间的距离。
【提示】
类Location的参考框架如下:
class Location {
public:
Location(double,double);
double Getx()
double Gety()
double distance(Location &);
friend double distance (Location &,Location &);
private:
double x,y;
};
4.声明一个Student类, 在该类中包括一个数据成员score( 分数) 、两个静态数据成员total_score( 总分) 和count( 学生人数) ; 还包括一个成员函数account()用于设置分数、累计学生成绩之和、累计学生人数, 一个静态成员函数sum()用于返回学。