c++程序设计实验报告参考答案Word文档下载推荐.docx

上传人:b****6 文档编号:21996134 上传时间:2023-02-02 格式:DOCX 页数:10 大小:90.12KB
下载 相关 举报
c++程序设计实验报告参考答案Word文档下载推荐.docx_第1页
第1页 / 共10页
c++程序设计实验报告参考答案Word文档下载推荐.docx_第2页
第2页 / 共10页
c++程序设计实验报告参考答案Word文档下载推荐.docx_第3页
第3页 / 共10页
c++程序设计实验报告参考答案Word文档下载推荐.docx_第4页
第4页 / 共10页
c++程序设计实验报告参考答案Word文档下载推荐.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

c++程序设计实验报告参考答案Word文档下载推荐.docx

《c++程序设计实验报告参考答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c++程序设计实验报告参考答案Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。

c++程序设计实验报告参考答案Word文档下载推荐.docx

切记不要耽误!

实验一:

简单类与对象

一、实验目的

1、熟悉VC++的编程环境,掌握VC++6.0的调试方法。

2、掌握简单的类与对象的定义。

二、实验内容

用类定义,输入半径和高,输出圆柱体的底面积和体积。

三、实验要求

1、硬件设备:

奔腾Ⅱ及以上计算机,局域网。

2、软件环境:

WINDOWSXP、VC++6.0。

3、实验课前预习,课后及时完成实验报告。

4、实验过程及记录按题目格式要求填写在代码清单中。

四、代码清单或实验步骤

#include<

iostream>

usingnamespacestd;

constfloatPI=3.14159f;

classCylinder{

private:

floatradius;

floathigh;

public:

Cylinder(){}

Cylinder(floatr,floath)

{

radius=r;

high=h;

}

voidsetradius(floatr)

voidsethigh(floath)

floatbottomarea()

returnPI*radius*radius;

floatvolumn()

returnbottomarea()*high;

};

voidmain()

{

floatr,h;

Cylinderonecylinder;

cout<

<

"

请输入半径:

;

cin>

>

r;

请输入高:

h;

onecylinder.setradius(r);

onecylinder.sethigh(h);

底面积为:

onecylinder.bottomarea()<

endl;

体积为:

onecylinder.volumn()<

}

五、实验中出现的问题及解决的方法

1、数据类型的兼容问题

程序代码:

constfloatPI=3.14159;

提示将double类型强制赋给float类型的警告

解决方法:

六、讨论或体会或改进实验的建议

这个实验比较简单,较容易的实现了。

实验二:

类与对象

2、学习类、成员函数与对象的定义方法。

3、掌握构造函数和析构函数的使用。

4、掌握对象成员的使用方法。

定义一个学生类,其中有3个数据成员:

学号、、年龄,以及若干成员函数。

同时编写主函数使用这个类,实现对学生数据的赋值和输出。

要求:

a)使用成员函数实现对数据的输入、输出;

b)使用构造函数和析构函数实现对数据的输入、输出。

classStudent{

charnum[10];

charname[10];

intage;

Student()

Student(charnum[],charname[],intage)

strcpy(this->

num,num);

name,name);

this->

age=age;

voidset(charnum[],charname[],intage)

voidprint()

cout<

学号:

num<

name<

年龄:

age<

charnum[10],name[10];

Studentzs;

请输入学号:

cin>

num;

请输入姓名:

name;

请输入年龄:

age;

zs.set(num,name,age);

zs.print();

}

strcpy(this.num,num);

strcpy(this.name,name);

this.age=age;

E:

\vctest\test2\main.cpp(25):

errorC2228:

leftof'

.num'

musthaveclass/struct/uniontype

\vctest\test2\main.cpp(26):

.name'

\vctest\test2\main.cpp(27):

.age'

将程序代码修改如下

程序调试完毕,输出结果如下:

面向对象编程,必须要首先要分析类结构,便于实现该类。

本实验中的学生类的示意图如下:

Student类

num学号

name姓名

age年龄

Student()构造函数

~Student()析构函数

Set()输入函数

Print()输出函数

实验三:

类与对象/继承与派生

一、实验目的

1、进一步熟悉VC++6.0编程环境,掌握程序的编写、调试和运行。

2、掌握const对象与const成员函数的用法。

3、掌握友元函数与友元类的用途。

4、熟悉不同派生方式的访问特性,掌握类层次中构造函数的定义方式和派生类构造函数和析构函数的调用次序。

5、学习定义虚基类的方法,利用虚基类解决二义性问题。

二、实验内容

classarea_c1{

protected:

doubleheight;

doublewidth;

public:

area_c1(doubler,doubles)

{height=r;

width=s;

virtualdoublearea()=0;

(1)建立基类area_c1的两个派生类rectangle与isosceles,让每一个派生类都包含一个函数area(),分别用来返回矩形与三角形的面积。

用构造函数对height与width进行初始化。

(2)写出主程序,用来求height与width分别为10.0与5.0的矩形面积,以及求height与width分别为4.0与6.0的三角形面积。

(3)要求通过使用基类指针访问虚函数的方法(即运行时的多态性)分别求出矩形和三角形面积。

四、代码清单或实验步骤

classrectangle:

publicarea_c1

rectangle(doubler,doubles):

area_c1(r,s)

doublearea()

returnheight*width;

classisosceles:

isosceles(doubler,doubles):

returnheight*width/2;

rectanglerectangle(10,5);

isoscelesisosceles(4,6);

area_c1*ptr;

ptr=&

rectangle;

矩形的面积为:

ptr->

area()<

isosceles;

三角形的面积为:

父类area_c1中的两个成员派生到了两个子类中时,不能通过子类的构造函数直接对这两个成员进行初始化,必须通过调用父类的构造函数进行初始化才行,如下:

六、讨论或体会或改进实验的建议

C++中运行时多态是通过指向基类的指针和虚函数机制来实现的。

产生运行时多态有如下3个前提:

(1)类之间的继承关系满足赋值兼容性规则

(2)改写了同名虚函数

(3)根据赋值兼容性规则使用指针(或引用)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1