77范文网 - 专业文章范例文档资料分享平台

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

来源:网络收集 时间:2020-03-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

void disptime();//显示时间函数 private:

int hours,minutes,seconds; };

3、写一个程序,定义抽象类Container: class Container {

protected: double radius; public:

Container(double r);//抽象类Container的构造函数 virtual double surface_area()=0;//纯虚函数surface_area virtual double volume()=0;//纯虚函数volume };

【要求】

建立3个继承Container的派生类:Sphere(球体)、Cylinder(圆柱体)、Cube(正方体),让每一个派生类都包含虚函数surface_area()和volume(),分别用来球体、圆柱体和正方体的表面积和体积。要求写出主程序,应用C++的多态性,分别计算边长为6.0的正方体、半径为5.0的球体,以及半径为5.0和高为6.0的圆柱体的表面积和体积。

4、设计一个点类Point,其结构如下:

(1) Point类表示二维平面点的集合,数据成员由点的坐标值表示,类型为int; (2) 三个重载构造函数:

a) 一个是无参数的构造函数;

b) 一个是带坐标值参数的构造函数,实现对数据成员的初始化; c) 一个是copy构造函数,实现用一个对象初始化本对象; (3) 两个重载成员函数:

a) void offert(int , int ); 实现点的偏移,参数是偏移量;

b) void offert(Point &); 实现点的偏移,参数Point类对象是偏移量;

共21 页,第 16页

(4) 6个运算符重载函数:

a) bool operator = = (Point &);判断两个点对象是否相等; b) void operator + =(Point &);将两个点对象相加; c) void operator ++();将当前对象自增1(前缀); d) void operator ++(int );将当前对象自增1(后缀);

e) friend Point& operator + (Point &, Point &);将两个点对象相加; f) friend Point &operator ? (Point &, Point &);将两个点对象相减; (5) 两个成员函数提供实例对象对私有数据的访问:

a) int GetX(); b) int GetY();

(6)公有成员函数void Display();输出对象的数据成员;

共21 页,第 17页

实验五 模板与异常处理

一、实验目的

1、正确理解模板的概念。

2、掌握函数模板与类模板的声明和使用方法。 3、学习简单的异常处理方法。 二、实验内容

1、已知下列主函数: int main() {

cout<

声明求3个数中最小者的函数模板,并写出调用此函数模板的完整程序。 2、编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设计成函数模板,并写出调用此函数模板的完整程序,使得函数调用时,数组的类型可以是整型也可以是双精度类型。

3、编写一个函数模板,使用冒泡排序将数组内容由小到大排列并打印出来,并写出调用此函数模板的完整程序,使得函数调用时,数组的类型可以是整型也可以是双精度型。

4、编写一个程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示。

共21 页,第 18页

实验六 C++的流类库与输入输出

一、实验目的

1、掌握C++格式化的输入输出方法。 2、掌握重载运算符“<<”和“>>”的方法。 3、掌握磁盘文件的输入输出方法。 二、实验内容

1、下面给出的程序用于打印九九乘法表,但程序中存在错误。请上机调试,使得此程序运行后,能够输出如下所示的九九乘法表。

源程序:

#include #include int main() { int i,j; cout<<\ for(i=1;i<=9;i++) {

cout<

cout<

cout<

共21 页,第 19页

for(j=1;j<=i;j++) cout<

2、编写一程序,将从键盘读入的一个整数、一个双精度数据和一个字符串写到磁盘文件date.dat中。

3、将“a”至“z”的26个英文字母写入文件,而后从该文件中读出并显示出来。

4、编写一个程序,将两个文本文件连接成一个文件,然后将此文件中所有小写字母转换成大写字母,并打印出来。

5、MFC文件操作

建立工程类型为mfc appwizard(exe)的Dialog-based MFC文件操作工程,设计界面如下。

利用类向导,根据示例编辑框的ID,添加数据成员

m_File。利用类向导,根

据“打开”按钮对应的ID,添加消息映射OnOpen,在OnOpen函数中添加如下代码。

void CMFCFileExampleDlg::OnOpen() {

CFile file;

file.Open(_T(\),CFile::modeRead); int length = file.GetLength();

共21 页,第 20页

}

char* data = new char[length + 1]; file.Read(data,length); data[length] = '\\0'; m_File = data; file.Close(); delete[]data; UpdateData(false);

利用类向导,根据“保存”按钮对应的ID,添加消息映射OnSave,在OnSave成员函数中添加如下代码。

void CMFCFileExampleDlg::OnSave() { }

UpdateData(true);

CFile file(_T(\),CFile::modeWrite|CFile::modeCreate); int length = m_File.GetLength(); char* data = new char[length + 1]; for(int i = 0; i < length; i++)

data[i] = m_File[i]; data[length] = '\\0'; file.Write(data,length); file.Close(); delete[]data; UpdateData(false);

共21 页,第 21页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C++面向对象程序设计实验指导书(4)在线全文阅读。

C++面向对象程序设计实验指导书(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/907781.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: