C++
Charlies.
这个作者很懒,什么都没留下…
展开
-
项目五 用类处理数组作数据成员问题
void set_salarys( ):输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中;void add_salarys(int x):给每个人涨x元工资void sort_salarys():对工资排序void show_salarys( ):显示工资信息(1)在main函数定义Salary类的对象,输入工资,再给每个人涨500元工资,原创 2015-03-25 17:21:42 · 405 阅读 · 0 评论 -
第八周【项目3-分数类中的运算符重载】
(1)实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算。可以在第4周分数类代码的基础上开始工作。[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片class CFraction { private: int nume; // 分子 int deno; // 分母原创 2015-04-26 08:11:50 · 374 阅读 · 0 评论 -
第八周【项目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,i原创 2015-04-25 14:39:00 · 328 阅读 · 0 评论 -
第八周 【项目1-实现复数类中的运算符重载】
1)请用类的成员函数,定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r; imag=i;原创 2015-04-25 09:34:54 · 440 阅读 · 0 评论 -
根据动物的头数和脚数求解各个动物的数量
题目描述 浙江工商大学校园里绿树成荫,环境非常舒适,因此也引来一批动物朋友来此居住。童心未泯的redraiment就经常带些碎面包什么的去广场喂鸽子和兔子,并和它们玩耍。一点也不像大学生,还是一副老不正经的样子,呵呵。随着鸽子和兔子数目的增多,redraiment带的那点食物已经不够它们瓜分了。为了能让自己的好朋友吃的饱饱的,redraiment决定统计一下有多少只鸽子和有多少只兔原创 2015-04-29 08:37:10 · 3369 阅读 · 1 评论 -
第九周 【项目4-我的向量类】
建立一个向量类MyVector,声明如下,请完成类的定义[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片class MyVector //定义向量类{ public: MyVector(int m); //构造函数,共有m个元素的向量,元素值预置为0 MyVector(const My原创 2015-05-13 08:13:07 · 363 阅读 · 0 评论 -
第十周 【项目3 - 点类派生直线类】
定义点类Point,并以点类为基类,派生出直线类Line,从基类中继承的点的信息表示直线的中点。请阅读下面的代码,并将缺少的部分写出来。[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片#include #include using namespace std; class Point //定义坐标点类 { public原创 2015-05-15 10:34:22 · 401 阅读 · 0 评论 -
第十周 【项目0 - 是春哥啊】
请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:Name: 春哥Grade: 19[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片#include #include using namespace std; class Person{ public: Person(char* s){原创 2015-05-15 08:21:25 · 430 阅读 · 0 评论 -
第十周 【项目1 - 存储班长信息的学生类】
class Stu //声明基类 { public: Stu(int n, string nam ); //基类构造函数 void display( ); //成员函数,输出基类数据成员 protected: //(*)访问权限为保护型的数据成员 int num; //学生学号 strin原创 2015-05-15 08:47:10 · 426 阅读 · 0 评论 -
第十周 字符串除了用C++扩充的string类型外,按C语言的传统,还可以用char *表示
字符串除了用C++扩充的string类型外,按C语言的传统,还可以用char *表示。请将类声明中的string全部改为char *后,重新写一遍程序(此时的区别是,类中有指针成员,构造和析构函数需要考虑深复制的问题了。)[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片class CPerson { protected: ch原创 2015-05-15 09:28:45 · 519 阅读 · 0 评论 -
第十周 【项目2 - 职员有薪水了】
(1)定义一个名为CPerson的类,有以下私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、析构函数、输出信息的函数。并在此基础上派生出CEmployee类,派生类CEmployee增加了两个新的数据成员,分别用于表示部门和薪水。要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数,并为派生类CEmployee定义析构函数,定义输出信息的函数。[cpp] vie原创 2015-05-15 09:22:53 · 368 阅读 · 0 评论 -
第十周 【项目4 - 类族的设计】
按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积、体积并输出并且完成要求的计算任务: (1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试; (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计ma原创 2015-05-15 12:14:51 · 746 阅读 · 0 评论 -
第十三周 【项目2-形状类族的中的纯虚函数】
写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片int main() { Circle c1(12.6),c2(4.9);//建立Circle原创 2015-05-31 16:11:57 · 339 阅读 · 0 评论 -
第十三周 【项目1-动物这样叫】
下面是给出的基类Animal声明和main()函数。class Animal { public: virtual void cry() { cout } }; int main( ){ Animal *p; p= new Animal(); p->cry(); Mouse m1原创 2015-05-31 15:44:32 · 320 阅读 · 0 评论 -
第十三周【项目3-立体类族共有的抽象类】
设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。[参考解答]#include using namespace std;clas原创 2015-05-31 16:54:13 · 460 阅读 · 0 评论 -
第十二周 【项目1 - 教师兼干部类】
分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。(3)对两原创 2015-05-24 21:07:06 · 535 阅读 · 0 评论 -
第十五周 【项目1 - 小玩文件】
//1)下面程序的功能是统计文本文件abc.txt中的字符个数,请填空将程序补充完整。#include #include #include // (1)using namespace std;int main(){ fstream file; file.open("abc.txt",ios::in); // (2) if(!file)原创 2015-06-10 08:23:16 · 365 阅读 · 0 评论 -
第六周【项目6-复数模板类】2.2
友元函数提供了一种非成员函数访问私有数据成员的途径,模板类使类中的数据成员的类型变得灵活,这两种技术可以结合起来用。要求在前面方案的基础上支持用友员函数实现的加法。用于测试的main()函数如下:[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片int main( ) { Complex c1(3,4),c2(5,-10),c3;原创 2015-04-15 20:12:38 · 494 阅读 · 0 评论 -
第六周 【项目6-复数模板类】2.1
该例实现了一个复数类,但是美中不足的是,复数类的实部和虚部都固定只能是double型的。可以通过模板类的技术手段,设计Complex,使实部和虚部的类型为定义对象时指定的实际类型。 (1)要求类成员函数在类外定义。 (2)在此基础上,再实现减法、乘法和除法 你可以使用的main()函数如下。[cpp] view plaincopyprint?在CODE上查看代码片原创 2015-04-15 19:22:10 · 423 阅读 · 0 评论 -
项目四 用类解决关于图书馆的书的问题
编写一个Book类,包含name(书名)、writer(著者)、public_name(出版社)、price(价格)、number(数量)、NO(书号)等数据成员。定义成员函数setBook,用来为书籍的数据成员赋值,定义成员函数borrow和restore,分别办理借出和还回(借、还书时,暂时只完成数量的增1减1,这里的书仍是一种书的概念,随着课程进展,我们继续做真正的图书管理系统,每本书都能追原创 2015-03-15 11:27:55 · 473 阅读 · 0 评论 -
第四周 项目一三角形类的构造函数
设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数本项目将包括多个版本,开始写程序前,保证搞清楚何为带参数的构造函数、默认构造函数、有默认参数的构造函数、参数初始化表。(1)使用带参数构造函数,即Triangle(double x,double y, double z),三边长在调用时由实参直接给出。原创 2015-03-30 20:27:01 · 344 阅读 · 0 评论 -
项目三 程序的多文件组织练习
主文件 main.cpp用于定义main()函数/**copyright (c) 2015,*All rights reserved*The Author:王争取*Finished Time:2015.3.23*/#include #include #include "triangle2.h"using namespace std;int main(){ Tr原创 2015-03-23 19:05:10 · 462 阅读 · 0 评论 -
项目四 用类处理“学生成绩”的问题
/**copyright (c) 2015,*All rights reserved*The Author:王争取*Finished Time:2015.3.23*/#include using namespace std;class Student{public: void setstudent(string,double,double); void show原创 2015-03-23 19:13:41 · 357 阅读 · 0 评论 -
第四周项目2 分数的雏形
/**copyright (c) 2015,*All rights reserved*The Author:王争取*Finished Time:2015.3.31*/#include #include using namespace std;class CFraction{private: int nume; // 分子 int deno; // 分母p原创 2015-03-31 19:46:01 · 417 阅读 · 0 评论 -
第四周 项目3 用对象数组操作长方体类
编写基于对象的程序,求5个长方柱的体积和表面积。长方柱类Bulk的数据成员包括长(length)、宽(width)、高(heigth)等。对照已经给出的代码,要做的工作及要求有:需要你定义长方柱类,代码中已经给出由5个长方柱对象构成的对象数组b; B数组中的前3个对象b[0]、b[1]、b[2]直接参数初始了,需要定义构造函数,而初始化中,各对象提供的参数数目不同,需要有默认参数的构造原创 2015-03-31 20:25:19 · 478 阅读 · 0 评论 -
第四周 项目4-指向学生类的指针
设计一个学生类Student,数据成员包括学号(num)和成绩(score),成员函数根据需要自行设计(建议配备需要的set、get函数,以及必要的输入或输出,给出的代码中也可以找到需要成员函数的线索)。在main函数中,要做到:建立一个对象数组,通过初始化,设置5个学生的数据,要求:用指针指向数组首元素,输出第1、3、5个学生的信息;设计一个函数int max(Student *原创 2015-04-04 09:05:16 · 354 阅读 · 0 评论 -
第六周 【项目1-深复制体验】
/**copyright (c) 2015,*All rights reserved*The Author:王争取*Finished Time:2015.4.10*/#include#includeusing namespace std;class A{private: char *a;public: A(char *aa) { a原创 2015-04-10 20:34:10 · 411 阅读 · 0 评论 -
第五周 【项目1-体验常成员函数】
设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等。在设计中,由于求距离、求对称点等操作对原对象不能造成任何改变,所以,将这些函数设计为常成员函数是合适的,能够避免数据成员被无意更改/**copyright (c) 2015,*All rights reserved*The Author:王争取*Finished Time:2015.4.原创 2015-04-05 16:23:43 · 357 阅读 · 0 评论 -
第五周 【项目3-用多文件组织多个类的程序】
将项目2用“一个项目多个文件”的方式实现,其中两个类的声明放在同一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件main.cpp#include #include "calss.h"using namespace std;int main(){ CPoint A,B,C; CTriangle t1(A,B,C); t1.set原创 2015-04-07 21:38:36 · 417 阅读 · 0 评论 -
第五周 【项目2 - 对象作为数据成员】
本项目设计一个三角形类,其数据成员不再是三角形三条边的边长,而是三角形的三个顶点。利用设计的三角形类,输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形和等腰三角形。提示:(1)这个问题需要用到两个类,顶点类参照项目1中的CPoint类;(2)三角形类参考下面CTriangle类的声明;(3)充分利用CPoint类中已有的代码实现;(4)关于三条边长的处理,可以增加三个私有属原创 2015-04-07 21:05:05 · 360 阅读 · 0 评论 -
第五周 【项目4-静态成员应用】
设计含有静态数据成员和成员函数的Time类。静态数据成员是类中所有的对象共有的数据,在下面的设计中,时钟要采用12小时制,还是要使用24小时制,显示时,不足两位的数字前是否前导0,都是“影响全局”的设置,适合作为类中的静态数据成员。/**copyright (c) 2015,*All rights reserved*The Author:王争取*Finished Time:2015原创 2015-04-08 19:52:52 · 317 阅读 · 0 评论 -
第六周 【项目3-人数不定的工资类】
设计一个工资类(Salary),其中的数据成员包括职工人数(number,人数不定)和number个职工的工资salary,要求输入职工工资并逐个输出。提示:用固定大小的数组存储number个职工的工资,可能造成空间的浪费,也可能会由于空间不够而不能处理职工人数过多的应用。将salary声明为指针类型的成员,通过动态分配空间,分配正好大小的空间存储数据。/**copyright (c)原创 2015-04-14 22:47:00 · 419 阅读 · 0 评论 -
第六周【项目5-友元类】
定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片class Date; //对Date类的提前引用声明 class Time { public: Time(int,int,int);原创 2015-04-14 22:55:24 · 446 阅读 · 0 评论 -
第六周 【项目4-成员函数、友元函数和一般函数有区别】
(1)阅读下面的程序,体会注释中的说明。[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片//例:使用成员函数、友元函数和一般函数的区别 #include using namespace std; class Time { public: Time(int h,int m,int s):hour(h),minu原创 2015-04-14 22:50:44 · 371 阅读 · 0 评论 -
第六周 【项目2-我的数组类】
下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空间中;(3)原创 2015-04-14 22:40:30 · 307 阅读 · 0 评论 -
第十二周 【项目4 - 点、圆的关系】
(1)先建立一个Point(点)类,包含数据成员x,y(坐标点);(2)以Point为基类,派生出一个Circle(圆)类,增加数据成员(半径),基类的成员表示圆心;(3)编写上述两类中的构造、析构函数及必要运算符重载函数(本项目主要是输入输出);(4)定义友元函数int locate,判断点p与圆的位置关系(返回值0 圆外);(5)在圆类上重载关系运算符(6种),使之能够按圆原创 2015-05-24 21:11:12 · 555 阅读 · 0 评论