- 博客(155)
- 收藏
- 关注
原创 c++课程实训 银行储蓄系统——感受
这一年下来的学习或许得到的和自己想要得到的相差甚远。但是我只能说这也许就是最好的结果;面对C++我从来都是个弱者。不是我不够努力而是我对它真的没有很好的掌握和用很好的办法去学习。不是我不够认真,而是我不够的耐心。面对内心很会浮躁的我只要哪了想不下去敲不下去我就会很浮躁,就会失去了耐心。但是面对一年下来的学习。我对C++只会有好的评价而不会有差的评笔;虽然在这一年的学习里我获得的知识不是很多但是我高
2015-07-17 14:48:19
886
原创 c++课程实训 银行储蓄系统
基本要求:定义了用户类(User)和银行类(Bank),用成员函数实现各种功能,多文件组织程序,能用文本文件存取数据(如示例中给出的技术); 实现加分项:1:按银行实际业务的要求,增加 User 类中的数据成员,能够记录身份证号、家庭住址等信息。 2:用动态数组储存。 代码实现:多文件组织,保存在5个文件里。main.cpp /***************
2015-07-17 13:37:53
1150
原创 第十二周项目4——圆,点的关系(两个交点的坐标)
(6)与圆心相连的直线:给定一点p,其与圆心相连成的直线,会和圆有两个交点,如图。在上面定义的Point(点)类和Circle(圆)类基础上,设计一种方案,输出这两点的坐标。提示:代码如下:#include #include using namespace std;class Circle;class Point{protected: double
2015-06-03 08:43:52
626
原创 第十周项目3——立体类组共有的抽象类
设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。代码如下:#include using namespace std;
2015-06-01 15:57:50
731
原创 第十三周项目2——形状类组的中的纯虚函数
写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。 int main() { Circle c1(12.6),c2(4.9);//建立Circle类对象c1,c2,参数为圆半径 Rectangle r1(4.5,8.
2015-06-01 15:03:00
563
原创 第十三周项目1——动物这样叫
下面是给出的基类Animal声明和main()函数。class Animal{public: virtual void cry() { cout<<"不知哪种动物,让我如何学叫?"<<endl; }};int main( ){ Animal *p; p = new Animal(); p->cry();
2015-06-01 14:01:35
516
原创 第十二周项目4——点与圆的关系{(判断两个圆面积的大小)
(5)在圆类上重载关系运算符(6种),使之能够按圆的面积比较两个圆的大小。自编main函数完成测试。代码如下:#include using namespace std;class Point{protected: double x,y;public: Point(int xx=0,int yy=0):x(xx),y(yy) {} frien
2015-05-27 09:15:05
634
1
原创 第十二周项目4——点, 圆的关系(判断点p与圆的关系)
(1)先建立一个Point(点)类,包含数据成员x,y(坐标点);(2)以Point为基类,派生出一个Circle(圆)类,增加数据成员(半径),基类的成员表示圆心;(3)编写上述两类中的构造、析构函数及必要运算符重载函数(本项目主要是输入输出);(4)定义友元函数int locate,判断点p与圆的位置关系(返回值0 圆外); int main( ) {
2015-05-27 08:15:12
911
原创 都是
#include using namespace std;class Circle;class Point{protected: double x,y;public: Point(int xx=0,int yy=0):x(xx),y(yy) {} friend ostream& operator friend double locat
2015-05-25 15:50:44
846
原创 第十二周项目3——日期时间类
定义一个日期类Date,数据成员包括年、月、日,SetDate(int y,int m,int d)和PrintDate()函数分别用于设置日期和显示日期;再定义一个时间类Time,数据成员包括时、分、秒,SetTime(int h,int m,int s)和PrintTime()函数分别用于设置时间和显示时间,在此基础上再定义一个日期时间类TimeDate,充分利用已有的两个类中提供的方法,实现
2015-05-25 14:56:24
617
原创 第十二周项目2——摩托车继承自行车和机动车
在下面一段类的定义中,自行车类的虚基类为车辆类,机动车类的虚基类也为车辆类,摩托车类的基类为自行车类和机动车类,类之间均为公有继承,如图所示。下载可执行文件链接motorcar.exe.(1)根据上面各类间关系的描述,补全下面程序段中空缺的代码;(2)实现程序中声明的成员函数,注意相应操作中的动作发生的条件不能满足时应给出提示。(3)运行程序,享受开摩托的过程。(可以下载可执行文件
2015-05-25 14:03:05
760
原创 drf
#include #include#include using namespace std;enum vehicleStaus {rest, running}; //车辆状态:泊车、行进class vehicle //车辆类{protected: int maxSpeed; //最大车速 int currentSpeed; //当前
2015-05-24 18:19:57
868
原创 第十二周项目1——教师兼干部类
分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求: (1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。 (2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。
2015-05-24 13:58:43
591
原创 第十一周项目4——类族的设计
按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积、体积并输出并且完成要求的计算任务: (1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试; (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计ma
2015-05-20 13:58:52
505
原创 修改
#include#includeusing namespace std;class Point //定义坐标点类{public: Point():x(0),y(0) {}; Point(double x0, double y0):x(x0), y(y0) {}; friend ostream&operatorprotected: do
2015-05-20 09:25:03
408
原创 第十一周项目3——点类派生直线类
定义点类Point,并以点类为基类,派生出直线类Line,从基类中继承的点的信息表示直线的中点。请阅读下面的代码,并将缺少的部分写出来。#include#includeusing namespace std;class Point //定义坐标点类{public: Point():x(0),y(0) {}; Point(double x0, double y
2015-05-20 08:36:19
868
原创 第九周项目4——我的向量类
建立一个向量类MyVector,声明如下,请完成类的定义class MyVector //定义向量类 { public: MyVector(int m); //构造函数,共有m个元素的向量,元素值预置为0 MyVector(const MyVector &v); //复制构造函数 ~MyVector()
2015-05-18 15:34:50
433
原创 第十一周项目2——职员有薪水了
(1)定义一个名为CPerson的类,有以下私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、析构函数、输出信息的函数。并在此基础上派生出CEmployee类,派生类CEmployee增加了两个新的数据成员,分别用于表示部门和薪水。要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数,并为派生类CEmployee定义析构函数,定义输出信息的函数。class CPe
2015-05-18 14:39:57
557
原创 第十一周项目1——存储班长信息的学生类
class Stu //声明基类 { public: Stu(int n, string nam ); //基类构造函数 void display( ); //成员函数,输出基类数据成员 protected: //(*)访问权限为保护型的数据成员 int num; //学生学
2015-05-18 13:49:13
442
原创 第十一周项目0——是春哥啊
请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:Name: 春哥Grade: 19#include #include using namespace std;class Person{public: Person(char* s){ strcpy(name,s); } void display( ){
2015-05-18 13:18:21
568
原创 第九周项目5——方程也是类
设计一元一次方程类,求形如ax+b=0的方程的解。例如:输入3x-8=0时,输出的方程的解为x=2.66667;再如:输入5s+18=0时,输出的方程的解为s=-3.6; 参考界面如下:class CEquation { private: double a; // 未知数系数 double b; // 常数
2015-05-10 17:16:45
346
原创 第九周项目3——分数类中的运算符重载(续)
在分数类中的运算符重载基础上(1)定义分数的一目运算+和-,分别代表分数取正和求反,将“按位取反运算符”~重载为分数的求倒数运算。(2)定义分数类中>运算符重载,实现分数的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。代码如下:#include int gcd(int m,int n);using namespace std;class CFract
2015-05-10 16:44:31
439
原创 第九周项目2——Time类中的运算符重载(续)
在Time类中的运算符重载基础上(1)定义对时间对象的自增和自减一目运算符 //一目运算符的重载 CTime operator++(int);//后置++,下一秒 CTime operator++();//前置++,下一秒,前置与后置返回值不一样 CTime operator--( int);//后置--,前一秒 CTime operator--();
2015-05-10 09:16:34
546
2
原创 第九周项目1——附属类中的运算符重载(续)
在复数类中的运算符重载基础上(1)再定义一目运算符 -,-c相当于0-c。(2)定义Complex类中的>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然。代码如下:#include using namespace std; class Complex { public: Complex(){real=0;imag
2015-05-09 22:37:50
400
原创 第八周项目3——分数类中的运算符重载(四则运算)
(2)在(1)的基础上,实现分数类中的对象和整型数的四则运算。分数类中的对象可以和整型数进行四则运算,且运算符合交换律。例如:CFraction a(1,3),b; int i=2; 可以完成b=a+i;。同样,可以完成i+a, 45+a, a*27, 5/a等各种运算。代码如下:#include int gcd(int m,int n);using namespace std
2015-04-28 13:11:40
402
原创 第八周项目3(1)——分数类中的运算符重载
(1)实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算。可以在第4周分数类代码的基础上开始工作。class CFraction { private: int nume; // 分子 int deno; // 分母 public: //构造函数及运算符重载的函数声明 };
2015-04-28 12:02:55
391
原创 第八周项目4——String类的构造
写一个能处理字符串的类,其数据成员如下所示:class String { public: ...//需要的成员函数(若需要的话,声明友元函数)private: char *p; //指向存储的字符串 int len; //记录字符串的长度 }; 请构造String类的加、减运算。其中,s1 + s2将两个字符串的连接起来;s1
2015-04-25 17:43:59
344
原创 第八周项目2——time类中的运算符重载
实现Time类中的运算符重载。class CTime{private: unsigned short int hour; // 时 unsigned short int minute; // 分 unsigned short int second; // 秒public: CTime(int h=0,int m=0,int
2015-04-25 16:18:56
791
1
原创 第八周项目1——实现复数类中的运算符重载
(1)请用类的成员函数,定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r; imag=i;} Complex operator+(const Complex &c
2015-04-24 16:37:25
458
原创 随笔——学C++的感想
知识是需要一步一步的积累的。我们不可能一下子获得你需要的全部,就好比一块大蛋糕我们不可能一口把它吃完而是需要切成几部分才能一口吃完每小块。知识也是如此我们只有一小步一小步的积累才能是自己获得更多自己需要的知识。C++也是如此,我们不可能期望一下子就能把C++学会,每个人如此。只有长期的积累长期的编程,这样才可能得到不同的知识这样使编程更加的得心应手,我不能渴望一下子就会学会它我也不希望应自己的以前
2015-04-17 17:41:58
616
1
原创 第六周项目6——复数模板类
(3)友元函数提供了一种非成员函数访问私有数据成员的途径,模板类使类中的数据成员的类型变得灵活,这两种技术可以结合起来用。要求在前面方案的基础上支持用友员函数实现的加法。用于测试的main()函数如下:int main( ){ Complex c1(3,4),c2(5,-10),c3; c3=c1.complex_add(c2); //调用成员函数支持加法运算
2015-04-17 17:34:24
391
原创 第六周项目6——复数模板类
阅读教材例10.1。该例实现了一个复数类,但是美中不足的是,复数类的实部和虚部都固定只能是double型的。可以通过模板类的技术手段,设计Complex,使实部和虚部的类型为定义对象时指定的实际类型。 (1)要求类成员函数在类外定义。 (2)在此基础上,再实现减法、乘法和除法 你可以使用的main()函数如下。int main( ){ Complex c
2015-04-17 16:47:32
380
原创 第六周项目5——有元类
定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)class Date; //对Date类的提前引用声明class Time{public: Time(int,int,int); void add_a_second(Date &); //增加1秒,1秒后可能会到了下一天,乃到下一月
2015-04-16 14:32:36
318
原创 第六周项目4——成员函数,友元函数和一般函数的区别
1)阅读下面程序,体会注释中的说明代码如下:#include using namespace std;class Time{public: Time(int h,int m,int s):hour(h),minute(m),sec(s) {} void display1();
2015-04-16 13:29:22
372
原创 第六周项目3——人数不定的工资类
设计一个工资类(Salary),其中的数据成员包括职工人数(number,人数不定)和number个职工的工资salary,要求输入职工工资并逐个输出。提示:用固定大小的数组存储number个职工的工资,可能造成空间的浪费,也可能会由于空间不够而不能处理职工人数过多的应用。将salary声明为指针类型的成员,通过动态分配空间,分配正好大小的空间存储数据。class Salary {
2015-04-15 09:02:06
339
原创 第六周项目2——我的数组类
下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空间中;(3)
2015-04-15 08:18:43
303
原创 第六周项目1——深复制体验
1)阅读下面的程序,补足未完成的注释#include#includeusing namespace std;class A{private: char *a;public: A(char *aa) { a = new char[strlen(aa)+1]; //(a)这样处理的意义在于:___________________
2015-04-14 18:48:22
339
原创 第五周项目4——静态成员应用
设计含有静态数据成员和成员函数的Time类。静态数据成员是类中所有的对象共有的数据,在下面的设计中,时钟要采用12小时制,还是要使用24小时制,显示时,不足两位的数字前是否前导0,都是“影响全局”的设置,适合作为类中的静态数据成员。 class Time{public: Time(int=0,int=0,int=0); void show_time( );
2015-04-09 15:49:46
372
原创 第五周项目3——用多文件组织多个类的程序
将项目2用“一个项目多个文件”的方式实现,其中两个类的声明放在同一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件。体会这样安排的优点。(1)mian。cpp #include #include "CpointCTriangle.h"using namespace std;int main(){ Cpoint X,Y,Z;
2015-04-08 19:44:51
363
原创 第五周项目2——对象作为数据成员
回想Engineer类的数据成员,有眼镜、背包等。某Engineer的眼镜、背包,是Glass、Bag类的对象。类中的数据成员,其类型可以是简单类型,也可以是类。通过这种方式,将某些类组合到另外的类中,当作其中的一个“部件”使用。本项目设计一个三角形类,其数据成员不再是三角形三条边的边长,而是三角形的三个顶点。利用设计的三角形类,输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形
2015-04-08 13:48:34
407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人