最新C++课程设计报告1.0.doc
《最新C++课程设计报告1.0.doc》由会员分享,可在线阅读,更多相关《最新C++课程设计报告1.0.doc(223页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC+课程设计报告1.0C+课程设计报告1.0课程设计报告课程设计题目:面向对象程序设计 学生姓名:吴泓专 业:软件工程班 级:1621801指导教师:张军 2017年 6月 16日课程设计目的: 综合运用所学过的知识进行实际程序设计。课程设计内容:Part1 1: 类的组合:定义point类,数据成员包括x,y,成员函数包括构造函数,拷贝构造函数和析构函数,以及set
2、x,getx,sety,gety四个属性函数。定义line类,端点由两个point类的对象组成,包括构造函数,析构函数以及计算线段长度的函数getlength。在main函数中,定义line的对象,并输出其长度。#include#includeusing namespace std;class pointprivate:double x, y;public:point()point(double x, double y) :x(x), y(y)void setx(double xx)x = xx;double getx() return x; void sety(double yy)y = y
3、y;double gety() return y; point(point & p)x = p.x;y = p.y;point();class lineprivate:point a, b;public:line(point aa,point bb) :a(aa), b(bb)double getlength()double length;length = sqrt(pow(a.getx() - b.getx(), 2) + pow(a.gety() - b.gety(), 2);return length;line();void main()point p1(2, 3);point p2(5
4、, 6);line l1(p1,p2);cout The length of the line is l1.getlength()endl; Part1 1运行结果与分析:运行结果:输入 x1,y1,x2,y2:2 3 5 6p1:(2,3)p2:(5,6) Part1 1设计过程、思路与分析:1. 定义Point类,设置其成员函数(构造函数,拷贝构造函数和析构函数)以及setx,getx,sety,gety四个属性函数;2. 定义line类,设置其成员函数和getlength()函数。Getlength()函数可以输入和输出两点的坐标和两点之间的距离;3. 在主函数中定义类line对象myl
5、ine。调用getlength()函数实现目的。Part1 2: 对象数组和函数:定义student类,数据成员包括姓名name和成绩score,成员函数包括构造函数,拷贝构造函数和析构函数。定义函数void highestscore(student s),输出分数最高的学生姓名和分数。在main函数中定义student sN,调用highestscore函数,输出分数最高的学生姓名和分数。#include#includeconst int N = 3;/定义要输入的学生数using namespace std;class student/定义student类private:string na
6、me;double score;public:student()/定义无参构造函数student(string n, double s) :name(n), score(s)/定义有参构造函数student(student &s)/拷贝构造函数name = s.name;score = s.score;void highestscore(student s)int k = 0;double max;max = s0.score;for (int i = 1; i N; i+)if (max si.score)max = si.score;k = i;cout The students name
7、: sk.name endl;cout Highestscore is: sk.score endl;student()friend ostream & operator (ostream & os, student s)os s.name s.score (istream & is, student &s)is s.name s.score;return is;void main()student sN;for (int i = 0; i si;sN.highestscore(s);Part1 2运行结果与分析:运行结果:运行结果分析:输入的3位同学,成绩最高的是lisi 97,输出结果正确
8、。Part1 2设计过程、思路与分析:定义student类,设置其成员函数(构造函数,拷贝构造函数和析构函数)和获取名字的函数getname()、获取成绩的函数getscore();定义highestscore(student s)函数。该函数中用k记录成绩最高的数组。并且输出其姓名和成绩的信息;主函数中定义对象数组sN,用for循环输入3个学生的姓名和学号,再调用higtestscore(student s)函数输出成绩最高的学生的信息。Part1 3: 静态数据成员:设计一个书类,能够保存书名、定价,所有书的本数和总价。(将书名和定价设计为普通数据成员;将书的本数和总价设计为静态数据成员)
9、#include#includeusing namespace std;class Bookprivate:string name;double price;static int num;static double total;public:Book() Book(string name, double price);Book() Book(Book &con_refbook);string get_name();double get_price();static int get_num();static double get_total();void show();void put();Bo
10、ok:Book(string name, double price):name(name),price(price)num+;total += price;int Book:num = 0;int Book:get_num()return num;double Book:total = 0;double Book: get_total()return total;void Book:show()cout Book information: endl;cout name: name price: price endl;void Book:put()cout Book total: num;cou
11、t price total: total endl;int main()Book book1(Helloworld, 16.5);Book book2(C+ prime, 20.5);Book book3(C+ program, 30.0); book1.show();book2.show();book3.show();book3.put();system(pause);return 0;Part1 3运行结果与分析:运行结果:运行结果分析:一共输入三本书的书名和价格,输出的Book total为3,price total为67,输出结果正确。Part1 3设计过程、思路与分析:1. 定义Bo
12、ok类,设置其成员函数(构造函数,拷贝构造函数和析构函数)获取书名函数get_name()、获取价格函数get_price(),访问静态数据num的成员函数get_num()、访问静态数据total的成员函数get_total(),显示书名 及价格的函数show()、显示总价的函数put();2. 在主函数中定义Book类的三个对象book1、book2、book3,并且都初始化;3. 三个对象同时调用show( )函数,显示信息。最后调用put()函数显示书、 的总数和总价格。=Part1 4: 动态内存分配:定义point类,数据成员包括x,y,成员函数包括构造函数,拷贝构造函数和析构函数
13、,以及setx,getx,sety,gety四个属性函数。在main函数中,用new和delete分配和释放N个point的数组。(N是const常量,N=10)#includeconst int N = 10;using namespace std;class Pointprivate:float x, y;public:Point() Point() Point(float x, float y) :x(x), y(y) Point(Point &con_refpoint)x = con_refpoint.x;y = con_refpoint.y;void setx(float xx)x=
14、 xx;void sety(float yy)y= yy;float getx() return x; float gety() return y; ;int main()Point *p = new PointN;deletep;system(pause);return 0;Part1 4运行结果与分析:运行结果分析:程序主函数中位PointN数组申请了一段内存空间,并定义指针p指向该对象,然后用delete直接作用于指针,删除new创建的对象,释放指针p所指向的内存空间。Part1 4设计过程、思路与分析:1. 定义Point类,设置其成员函数(构造函数,拷贝构造函数和析构函数)以及set
15、x( )、sety( )、getx( )、gety( )属性函数;2. 在主函数中用new来为Point对象数组申请一块连续的内存,然后用delete直接作用于指针,删除new创建的对象,释放指针p所指向的内存空间。=Part1 5 : 类的继承:定义一个point类,包含私有数据成员x,y,成员函数包括无参构造函数,带参构造函数,set和get属性函数。定义circle类,从point类公有派生,增加数据成员半径r,成员函数包括无参构造函数,带参构造函数,计算面积函数getarea。在main函数中定义一个circle的对象,并计算其面积。#include using namespace s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 C+ 课程设计 报告 1.0
限制150内