C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx

上传人:b****4 文档编号:8233470 上传时间:2023-05-10 格式:DOCX 页数:20 大小:134.76KB
下载 相关 举报
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第1页
第1页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第2页
第2页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第3页
第3页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第4页
第4页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第5页
第5页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第6页
第6页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第7页
第7页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第8页
第8页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第9页
第9页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第10页
第10页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第11页
第11页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第12页
第12页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第13页
第13页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第14页
第14页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第15页
第15页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第16页
第16页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第17页
第17页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第18页
第18页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第19页
第19页 / 共20页
C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx

《C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx(20页珍藏版)》请在冰点文库上搜索。

C++实验报告模板 太原理工大学软件学院Word格式文档下载.docx

do{

sum+=i;

i++;

}while(i<

=10);

cout<

<

"

sum="

sum<

endl;

}

(2)#include<

iostream>

1计算圆面积"

endl

<

2计算矩形面积"

3计算正方形面积"

4退出"

请选择相应程序代码:

;

intx;

cin>

>

x;

doublearea;

while(x!

=4)

{

if(x==1)

doubler;

半径:

r;

area=3.14*r*r;

面积为:

"

area<

}

elseif(x==2)

doublea,b;

长和宽:

a>

b;

area=a*b;

面积为"

elseif(x==3)

doublea;

边长:

a;

area=a*a;

else{

输入有误,请重新输入!

程序代码:

return0;

五、实验数据记录和处理

运行结果:

(1)

(2)

6、实验结果与分析

(1)实验应用循环语句,实现累加运算,输出结构。

(2)实验通过调用面积公式输出相应的结果。

七、讨论、心得

通过本次实验,我学会了简单应用C++程序,学会了运算符与表达式的应用,对VISUALC++开发环境也有了一定了解。

实验二类与对象程序设计

(1)掌握类的定义和使用、成员函数的定义和使用;

(2)掌握类的私有成员、公有成员和保护成员的区别;

(3)掌握对象的定义、类成员的访问;

(4)掌握类中构造函数与析构函数的应用。

(5)掌握重载函数的定义和使用。

(1)设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右上角的两个点的坐标,能计算矩形的面积。

要求定义构造函数与析构函数。

(2)编写重载函数MAX1可分别求取2个整数、3个整数、2个双精度数、3个双精度数的最大值。

源程序:

(1)#include<

iostream.h>

usingnamespacestd;

classRectangle

public:

Rectangle(inttop,intleft,intbottom,intright);

~Rectangle(){}

intGetTop()const{returnitsTop;

intGetLeft()const{returnitsLeft;

intGetBottom()const{returnitsBottom;

intGetRight()const{returnitsRight;

voidSetTop(inttop){itsTop=top;

voidSetLeft(intleft){itsLeft=left;

voidSetBottom(intbottom){itsBottom=bottom;

voidSetRight(intright){itsRight=right;

intGetArea()const;

private:

intitsTop;

intitsLeft;

intitsBottom;

intitsRight;

};

Rectangle:

:

Rectangle(inttop,intleft,intbottom,intright)

itsTop=top;

itsLeft=left;

itsBottom=bottom;

itsRight=right;

intRectangle:

GetArea()const

intWidth=itsRight-itsLeft;

intHeight=itsTop-itsBottom;

return(Width*Height);

intmain()

RectangleMyRectangle(100,20,50,80);

intArea=MyRectangle.GetArea();

cout<

Area:

Area<

\n"

(2)#include"

intmax(inta,intb)

return(a>

b?

a:

b);

intmax(inta,intb,intc)

returnmax(a,max(b,c));

doublemax(doublea,doubleb)

doublemax(doublea,doubleb,doublec)

inta,b,c;

floatd,e,f;

请输入三个整数"

c;

请输入三个双精度数"

d;

e;

f;

a,b中较大的是:

max(a,b)<

d,e中较大的是:

max(d,e)<

最大的整数是:

max(a,b,c)<

最大的双精度数是:

max(d,e,f)<

六、实验结果与分析

(1)对于构造函数、析构函数的次序问题,先构造的后析构。

(2)通过调用重载函数输出所需结果。

通过本次实验,我明确了构造函数和析构函数的应用,也对函数重载有了更深刻的理解,掌握了类的私有成员、公有成员和保护成员的区别,对编写程序的整体思维方法是也有了更清晰的理解。

实验三继承与派生

(1)掌握类的继承和派生过程;

(2)掌握派生类的定义与使用;

(3)掌握派生类的构造函数与析构函数的应用及调用顺序;

(4)学习使用VISUALC++调试类的继承关系的应用。

(1)声明一个基类BaseClass,有整数类型成员变量Number,构造基派生类DerivedClass,实现其构造函数和析构函数,完善类的功能与结构。

(2)声明一个基类SHAPE,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积。

使用Rectangle类创建一个派生类Square;

完善类的功能与结构。

#include"

classBaseClass

private:

intNumber;

public:

BaseClass()

BaseClassConstruction!

~BaseClass()

BaseClassDeconstruction!

};

classDerivedClass:

publicBaseClass

DerivedClass()

DerivedlassConstruction!

~DerivedClass()

DerivedClassDeconstruction!

DerivedClassd;

constdoublePI=3.14;

classShape

Shape(doublex0=0.0,doubley0=0.0);

voidset(doublex0,doubley0);

doublegetX();

doublegetY();

virtualdoublegetArea()=0;

~Shape();

doublex;

doubley;

Shape:

Shape(doublex0,doubley0)

x=x0;

y=y0;

voidShape:

set(doublex0,doubley0)

doubleShape:

getX()

returnx;

getY()

returny;

~Shape(){}

classRectangle:

publicShape

Rectangle(doublex0=0.0,doubley0=0.0,doublew=0.0,doubleh=0.0);

voidset(doublex0,doubley0,doublew,doubleh);

doublegetWidth();

doublegetHeight();

doublegetArea();

~Rectangle();

doublewidth;

doubleheight;

Rectangle:

Rectangle(doublex0,doubley0,doublew,doubleh):

Shape(x0,y0)

width=w;

height=h;

voidRectangle:

set(doublex0,doubley0,doublew,doubleh)

Shape:

set(x0,y0);

doubleRectangle:

getWidth()

returnwidth;

getHeight()

returnheight;

getArea()

returnwidth*height;

~Rectangle(){}

classCircle:

Circle(doublex0=0.0,doubley0=0.0,doubler=0.0);

voidset(doublex0,doubley0,doubler);

doublegetRadius();

~Circle();

doubleradius;

Circle:

Circle(doublex0,doubley0,doubler):

radius=r;

voidCircle:

set(doublex0,doubley0,doubler)

doubleCircle:

getRadius()

returnradius;

returnPI*radius*radius;

~Circle(){}

classSquare:

publicRectangle

Square(doublex0=0.0,doubley0=0.0,doublelen=0.0);

voidset(doublex0,doubley0,doublelen);

doublegetLen();

Square:

Square(doublex0,doubley0,doublelen):

Rectangle(x0,y0,len,len)

{}

voidSquare:

set(doublex0,doubley0,doublelen)

set(x0,y0,len,len);

doubleSquare:

getLen()

returnRectangle:

getHeight();

Rectanglerectl(1,2,4,5);

矩形面积为:

rectl.getArea()<

Squaresqua(1,1,4);

正方形面积为:

squa.getArea()<

Circlecir(5,6,2);

圆形的面积为:

cir.getArea()<

(1)构造派生类,实现类的构造函数和析构函数。

(2)创建派生类,并对其功能、结构予以完善。

通过本次实验,我了解了类的继承和派生过程,明确了类的构造函数和析构函数的应用,以及调用顺序,现已基本可以编写正确的程序了。

实验四多态性

(1)掌握抽象类的定义与使用;

(2)掌握虚函数的定义与使用;

(3)掌握虚函数实现动态多态性;

(4)学习使用VISUALC++调试虚函数。

(1)编写一个抽象类SHAPE,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积。

计算周长的函数GetPerim();

(2)声明一个车(Vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(Bicycle)类、汽车(Motorcar)类,从(Bicycle)和(Motorcar)派生出摩托车(Motorcycle)类,它们都有Run、Stop等成员函数。

利用虚函数解决问题。

(1)#include<

#definePI3.1415926;

classShape

virtualdoubleGetArea()=0;

virtualdoubleGetPerim()=0;

classRectangle:

publicShape

Rectangle(doubleaa,doublebb)

a=aa;

b=bb;

长"

a<

宽"

b<

virtualdoubleGetArea()

{

returna*b;

}

virtualdoubleGetPerim()

return2*(a+b);

doubleb;

classCircle:

Circle(doublerr)

r=rr;

半径"

r<

returnr*r*PI;

virtualdoubleGetPerim()

return2*r*PI;

voidmain()

doublelength,width;

输入长和宽:

cin>

length>

width;

Rectanglerect(length,width);

面积是:

rect.GetArea()<

endl<

周长是:

rect.GetPerim()<

doublerr;

输入半径:

rr;

Circlecir(rr);

cir.GetArea()<

cir.GetPerim()<

#include<

classVehicle{

virtualvoidRun(){cout<

Vehicle:

Runcalled\n"

virtualvoidStop(){cout<

Stopcalled\n"

classmotorcar:

publicVehicle{

voidRun(){cout<

motorcar:

classbicycle:

bicycle:

voidStop(){cout<

classmotorcycle:

publicbicycle,publicmotorcar{

motorcycle:

mototrcycle:

voidmain(){

Vehicleve;

bicyclebi;

motorcarmo;

motorcyclemocy;

Vehicle*pclass=&

ve;

pclass->

Run();

Stop();

pclass=&

bi;

mo;

(1)通过抽象类派生出的矩形、圆形,计算周长和面积。

(2)利用虚函数调用派生类的成员。

通过本次实验,我对抽象类有了基本了解,也掌握了虚函数的定义、应用、以及多态性,对VISUALC++的使用更加熟练了。

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2