C++面向对象程序设计实验报告.docx
- 文档编号:9449926
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:18
- 大小:16.77KB
C++面向对象程序设计实验报告.docx
《C++面向对象程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《C++面向对象程序设计实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
C++面向对象程序设计实验报告
面
向
对
象
程
序
设
计
实验报告
姓名:
***
学号:
************
学校:
桂林航天工业高等技术专科学校
指导老师:
***
实验2
实验题目:
用类定义,输入半径和高,输出圆柱体的底面积和体积
实验程序代码:
【circle.h】
#include
usingnamespacestd;
classcircle
{
private:
floatr,h;
constdoublepi;
public:
circle(floatx,floaty);
voidprint();
};
【circle.cpp】
#include"circle.h"
circle:
:
circle(floatx,floaty):
pi(3.14)
{
r=x;
h=y;
}
voidcircle:
:
print()
{
cout<<"底面积为:
"< cout<<"体积为: "< } 【main.cpp】 #include usingnamespacestd; #include"circle.h" voidmain() { circlea(1,2); a.print(); } 实验结果: 底面积为: 3.14 体积为: 6.28 实验三 实验题目: 用类实现计算两点之间的距离。 (可以定义点类(Point),再定义一个类(Distance)描述两点之间的距离,其数据成员为两个点类对象,两点之间距离的计算可设计由构造函数来实现。 ) 实验程序代码: 【point.h】 #include usingnamespacestd; #ifndefpoint_h #definepoint_h classpoint {private: intx1; inty1; public: point(int,int); }; #endif 【point.cpp】 #include"point.h" point: : point(intx,inty) {x1=x;y1=y;} 【distance.h】 #include usingnamespacestd; #include"point.h" #include #ifndefdistance_h #definedistance_h namespaceme { classdistance {private: pointp1; pointp2; public: distance(intx1,intx2,inty1,inty2); }; 【distance.cpp】 #include usingnamespacestd; #include"distance.h" #include"point.h" me: : distance: : distance(intx1,intx2,inty1,inty2): p1(x1,y1),p2(x2,y2) {cout<<”两点间的距离为: ”< 【main.cpp】 #include usingnamespacestd; #include"distance.h" #include"point.h" voidmain() { me: : distances(1,2,1,2); } 实验结果: 两点间的距离为: 1.41 实验四 实验题目: 定义学生类(姓名,学号),生日类(年,月,日),利用友元类,输出某个学生的姓名,学号,及其生日。 实验程序代码: 【student.h】 #include usingnamespacestd; #include"birthday.h" classstudent { private: char*name; intID; public: student(char*s,intn); voidprint(birthday&a); }; 【birthday.h】 #include usingnamespacestd; #ifndefbi #definebi classbirthday { private: intyear,mouth,day; friendclassstudent; public: birthday(intx,inty,intz); voidprint(); }; #endif 【student.cpp】 #include"student.h" student: : student(char*s,intn) { ID=n; name=newchar[strlen(s)+1]; strcpy(name,s); } voidstudent: : print(birthday&b) { cout<<"姓名: "< cout<<"学号: "< cout<<"生日: "< } 【birthday.h】 #include"birthday.h" birthday: : birthday(intx,inty,intz) {year=x; mouth=y; day=z;} 【main.cpp】 #include"iostream" usingnamespacestd; #include"student.h" #include"birthday.h" voidmain() { studenta("tjl",117); birthdayb(1990,9,1); a.print(b); } 实验结果: 姓名: tjl 学号: 117 生日: 199091 实验五 实验题目: student(name,id,total),total为静态成员,在student中设置静态函数来处理total。 在main()函数中显示name,id,total 实验程序代码: 【student.h】 #include usingnamespacestd; classstudent { private: char*name; intid; staticinttotal; public: student(char*na,intid1); voidprint(); staticvoidprint1(); }; 【total.cpp】 #include usingnamespacestd; #include"student.h" #include"string.h" intstudent: : total=0; student: : student(char*na,intid1) { id=id1; name=newchar[strlen(na)+1]; strcpy(name,na); ++total; } voidstudent: : print1() {cout< voidstudent: : print() {cout<<"name: "< cout<<"id: "< 【main.cpp】 #include usingnamespacestd; #include"student.h" voidmain() { studenta("tang",61); studentb("guo",45); a.print(); b.print(); student: : print1(); } 实验结果: name: tang id: 61 name: guo id: 45 实验六 实验题目: 基类--学生类(姓名,学号),子类--大学生类(专业),继承方式: 公有继承,在主函数中显示某个大学生的信息。 实验程序代码: 【student.h】 #include usingnamespacestd; #ifndef_st1 #define_st1 classstudent { private: char*name; intid; public: ~student(); student(char*na,intid1); voidprint(); }; #endif 【student.cpp】 #include usingnamespacestd; #include"string.h" #include"student.h" student: : ~student() {delete[]name;} student: : student(char*na,intid1) {id=id1; name=newchar[strlen(na)+1]; strcpy(name,na); } voidstudent: : print() {cout<<"name: "< cout<<"id: "< } 【cstudent.h】 #include usingnamespacestd; #include"student.h" #ifndef_cst #define_cst classcstudent: publicstudent { private: char*project; public: ~cstudent(); cstudent(char*na,intid1,char*pro); voidprint1(); }; #endif 【cstudent.cpp】 #include usingnamespacestd; #include"string.h" #include"cstudent.h" #include"student.h" cstudent: : ~cstudent() {delete[]project;} cstudent: : cstudent(char*na,intid1,char*pro): student(na,id1) {project=newchar[strlen(pro)+1]; strcpy(project,pro); } voidcstudent: : print1() {student: : print(); cout<<"project: "< 【main.cpp】 #include usingnamespacestd; #include"string.h" #include"student.h" #include"cstudent.h" main() {cstudenta("tang",17,"computer"); a.print1(); } 实验结果: name: tang id: 17 project: conputer 实验七 实验题目: 基类shape,派生类circle(半径R),tangcle(长a,宽b),它们都有求面积的函数area(),利用虚函数求两个派生类对象的面积 实验程序代码: 【shape.h】 #include"iostream" usingnamespacestd; #ifndef_shape #define_shape classshape { public: virtualvoidarea(); }; #endif 【shape.cpp】 #include"shape.h" voidshape: : area() {} 【circle.h】 #include"shape.h" classcircle: publicshape {private: floatr; constfloatpi; public: circle(floatr1); voidarea(); }; 【circle.cpp】 #include"circle.h" circle: : circle(floatr1): pi(3.14) {r=r1;} voidcircle: : area() {cout< 【tangcle.h】 #include"iostream" #include"shape.h" usingnamespacestd; classtangcle: publicshape {private: floata,b; public: tangcle(floatc,floatd); voidarea(); }; 【tangcle.cpp】 #include"tangcle.h" tangcle: : tangcle(floatc,floatd) {a=c;b=d;} voidtangcle: : area()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 面向 对象 程序设计 实验 报告