![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++作业
文章平均质量分 80
满月hzy
这个作者很懒,什么都没留下…
展开
-
c++作业7-F(2102)汽车、客车、货车
【语法强制纯虚析构函数必须有函数实现,因为有时父类也有一些数据开辟在堆区,既要使用纯虚函数,又要释放父类在堆区中的数据,就需要使用类内纯虚函数声明,类外写实现的写法。输入有多行,每行一个测试用例,每行包括1个正整数(车的轮子数量)、1个字符b或者t(b、t分别表示客车、货车)、1个正整数(可乘坐的人数或可承载的货物重量)。有了纯虚析构后,这个类也属于抽象类,无法实例化对象。但是这种写法不是很规范,因为派生类也有可能会被继承,为了区分虚函数,建议在派生类的虚函数前也加上virtual关键字。原创 2024-01-02 17:18:38 · 459 阅读 · 0 评论 -
c++作业7-B(1393)立体空间中的点(II)
设计一个平面上的点Point类和3维的点Point_3D类,满足Point_3D类继承自Point类,用于读取输入的数据,输出所构造的两种点的坐标。Point_3D::setPoint(double,double,double)根据三个坐标参数修改Point_3D对象的坐标。Point_3D::Point_3D(double,double,double)三个坐标参数构造。若输入为3维的点,则输出:“3D Point (x,y,y)”,x、y和z为输入的坐标值。Point::Point()无参构造。原创 2023-07-03 17:50:44 · 58 阅读 · 0 评论 -
c++作业3-B(1386)时间类的成员读写
输入的第一个整数n,表示有n组测试数据,每组3个整数:hh,mm,ss,分别表示时、分、秒,其值都在合法的时间范围内。Time::hour(int) :传参修改Time的小时数;Time::minute(int):传参修改Time的分钟数;Time::second(int):传参修改Time的秒数。Time::hour() :返回Time的小时数;Time::minute():返回Time的分钟数;Time::second():返回Time的秒数。1. Time::Time()无参构造方法。原创 2023-06-16 20:44:20 · 56 阅读 · 1 评论 -
c++作业8-D(1675)分数类的输出
2. show()函数:分数输出为“a/b”或“-a/b”的形式,a、b都是无符号整数。若a为0或b为1,只输出符号和分子,不输出“/”和分母。分数输出时为最简形式,负号只会出现在最前面,若分母为1或分子为0,则只输出一个整数,即分子部分,而没有“/”和分母部分。你设计一个Fract类,使得main()函数能够运行并得到正确的输出。调用格式见append.cc。1. 构造:传入两个参数n和m,表示n/m;输入多行,每行两个整数,分别为分子和分母,至EOF结束。每行输出一个分数,与输入顺序一致。原创 2023-07-08 11:57:34 · 61 阅读 · 0 评论 -
c++作业2-C(1329)平面上的点和线——Point类、Line类 (III)
每行为两组坐标“x,y”,分别表示线段起点和终点的x坐标和y坐标,两组坐标间用一个空格分开,x和y的值都在double数据范围内。在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段。输出为多行,每行为一条线段,起点坐标在前终点坐标在后,每个点的X坐标在前,Y坐标在后,Y坐标前面多输出一个空格,用括号包裹起来。根据“append.cc”,完成Point类和Line类的构造方法和show()方法,输出各Line对象和Point对象的构造和析构次序。C语言的输入输出被禁用。原创 2023-06-15 00:14:02 · 151 阅读 · 1 评论 -
c++作业1-F(1126)平面上的点——Point类 (VI)
输入的第一行为N,表示后面有N行测试样例。每行为两组坐标“x,y”,分别表示线段起点和终点的x坐标和y坐标,两组坐标间用一个空格分开,x和y的值都在double数据范围内。在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段。输出为多行,每行为一条线段,起点坐标在前终点坐标在后,每个点的X坐标在前,Y坐标在后,Y坐标前面多输出一个空格,用括号包裹起来。根据“append.cc”,完成Point类和Line类的构造方法和show()方法,输出各Line对象的构造和析构次序。原创 2023-06-14 21:07:37 · 78 阅读 · 0 评论 -
c++作业3-D(1388)时间类的拷贝和整体读写
Time::setTime(int,int,int)方法:传递时分秒三个参数修改Time对象的时分秒数。Time::setTime(const T&)方法:传递一个参数修改Time对象的时分秒数。注意:在用Time对象传递参数时应传对象的引用而不是直接传对象,返回对象时同样返回引用,以免产生多余的对象拷贝。2. Time::Time(int,int,int)构造方法:传递时分秒的三个参数构造对象。5. Time::showTime()方法:输出“hh:mm:ss”,不足两位的要前面补0。原创 2023-06-16 22:55:50 · 112 阅读 · 1 评论 -
c++作业3-C(1387)时间类的输入
2. Time::inputTime()方法:按格式从标准输入读取数据修改Time对象的时分秒数值。输入的第一个整数n,表示有n组测试数据,每组3个整数:hh,mm,ss,分别表示时、分、秒,其值都在合法的时间范围内。每组测试数据对应一组输出“hh:mm:ss”,不足两位的输出需要前面补0,格式见sample。3. Time::showTime()方法:输出“hh:mm:ss”,不足两位的要前面补0。你设计一个时间类Time,使得main()函数能够正确运行。1. Time::Time()无参构造方法。原创 2023-06-16 20:57:13 · 67 阅读 · 1 评论 -
c++作业3-A(1385)时间类的构造和输出
②我们可以对一个要输出的内容同时设置域宽和 填充字符,但是设置好的属性仅对下一个输出的内容有效,之后的输出要再次设置。s和a之间有7个空格,cout原创 2023-06-16 20:34:54 · 84 阅读 · 1 评论 -
c++作业5-B(1573)数组类(II)
3. Array::put(int n)方法:按从大到小的顺序输出前n大元素,若数组长度小于n则从大到小输出全部元素。把输入的数组,按值从大到小输出前10个元素,若输入不足10个则全部输出。1. Array::Array(int l)构造方法:创建一个长度为l的数组对象。数组元素有以下三种类型:整数、浮点数和字符,并且按固定的次序间隔出现。2. Array::size()方法:返回Array对象中元素个数。后面的每行以一个整数k开头,表示后面有k个同类型的数组元素。4. 下标运算符:返回下标所指的元素。原创 2023-07-08 17:36:47 · 98 阅读 · 0 评论 -
c++作业2-D(1330)平面上的点和线——Point类、Line类 (IV)
在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段。输出为多行,每行为一条线段,起点坐标在前终点坐标在后,每个点的X坐标在前,Y坐标在后,Y坐标前面多输出一个空格,用括号包裹起来。根据“append.cc”,完成Point类和Line类的构造方法和show()方法,输出各Line对象和Point对象的构造和析构次序。每行为两组坐标“x,y”,分别表示线段起点和终点的x坐标和y坐标,两组坐标间用一个空格分开,x和y的值都在double数据范围内。C语言的输入输出被禁用。原创 2023-06-15 21:12:58 · 189 阅读 · 1 评论 -
c++作业7-C(1678)正方形、长方形、立方体
Cuboid类需存长宽高,若从Rectangle类派生而来,因此也只增加一条边,构造函数产生一条输出,有长、宽、高、周长、面积、体积的函数。它的周长定义为所有棱长之和。每组测试数据对应的输出为两部分,前面是构造函数的输出,最后是输出图形的信息,包括长宽高、周长、面积、体积等信息,格式见sample;Rectangle类需存长和宽,若从Square类派生而来,因此只需增加一条边,构造函数产生一条输出,有长、宽、周长、面积的函数。Square类只需存一条边长,构造函数产生一条输出,有边长、周长、面积的函数。原创 2023-07-03 18:13:59 · 104 阅读 · 0 评论 -
c++作业3-H(1392)时间类的静态成员计数
5. Time::showTime()方法:输出“hh:mm:ss”,不足两位的要前面补0。注意:在用Time对象传递参数时应传对象的引用而不是直接传对象,返回对象时同样返回引用,以免产生多余的对象拷贝。Time::setTime(int,int,int)方法:传递时分秒三个参数修改Time对象的时分秒数。Time::setTime(const T&)方法:传递一个参数修改Time对象的时分秒数。2. Time::Time(int,int,int)构造方法:传递时分秒的三个参数构造对象。原创 2023-06-17 18:18:53 · 103 阅读 · 0 评论 -
c++作业3-E(1389)时间类的错误数据处理
8. Time::showTime()方法:输出“hh:mm:ss”,不足两位的要前面补0。Time::setTime(int,int,int)方法:传递时分秒三个参数修改Time对象的时分秒数。该方法返回修改后的对象。7. Time::inputTime()方法:按格式从标准输入读取数据修改Time对象的时分秒数值。Time::setTime(const T&)方法:传递一个参数修改Time对象的时分秒数。2. Time::Time(int,int,int)构造方法:传递时分秒的三个参数构造对象。原创 2023-06-16 23:14:54 · 176 阅读 · 0 评论 -
c++作业3-F(1390)时间类的常量
在C++编程中,关键字const不仅可以用来定义“常量对象”,还可以用来修饰一个类的成员函数和数据成员,分别称为“常量对象”、“常量成员函数”和“常量数据成员”。如果声明类的成员函数时,在末尾加上const修饰,则该成员函数称为类的常量成员函数。常量成员函数的定义如下: 成员函数名(参数表) const [1]原创 2023-06-17 16:23:43 · 79 阅读 · 0 评论 -
c++作业4-G(1578)字符串类(I)
每组测试数据对应输出一行,包含两部分内容,首先是一个整数,表示输入串的长度,然后是输入的字符串,两者用一个空格分开。2. STR::STR(const char *)构造方法:创建一个字符串对象,串的内容由参数给出。4. STR::putline()方法:输出串的内容,并换行。1. STR::STR()构造方法:创建一个空的字符串对象。你设计一个字符串类STR,使得main()函数能够正确运行。3. STR::length()方法:返回字符串的长度。输入有若干行,每行一个字符串。1.空白字符串:s="";原创 2023-06-28 00:03:58 · 139 阅读 · 0 评论 -
c++作业7-D(1780)选举班干部了
string类是C++提供的类,在头文件string中,可以用#include 来使用这个类。该类的对象可以直接利用赋值运算符(=)进行复制,也可以直接利用cout输出,或利用cin输入。(1)属性:string name——姓名。包括班长、团支书等。第2行是一个正整数N,表示有N个学生支持该人竞聘相应岗位。之后有N行,每行有3个部分,分别是一个学生的姓名、性别和年级。(1)属性:string position——表示竞聘岗位。第1行有4部分:姓名、性别(0或1)、年级(整数)和岗位。原创 2023-07-05 00:15:21 · 117 阅读 · 0 评论 -
c++作业4-B(1396)时间类的流插入、提取和递增、递减运算
若输入的日期合法,输出格式为“hh:mm:ss”,不足两位的输出需要前面补0。流插入操作符“>>”,按照输入格式从标准输入读取三个整数:hh,mm,ss,分别表示时、分、秒,其值在int范围内。按照“hh:mm:ss”输出Time类的对象,不合法的时间输出“error!若原时间对象为“24:60:60”,自增或自减运算后对象仍为“24:60:60”。若原时间对象为“00:00:00”,自减运算后的对象为“23:59:59”;若原时间对象为“23:59:59”,自增运算后的对象为“00:00:00”;原创 2023-06-25 18:15:35 · 137 阅读 · 0 评论 -
c++作业4-A(1395)时间类的加、减法赋值运算
3. Time::showTime()方法:输出“hh:mm:ss”,不足两位的要前面补0。输入的第一个整数n,表示有n组测试数据,每组4个整数,前三个整数为:hh,mm,ss,分别表示时、分、秒,其值都在int范围内,最后一个整数为m。若原时间对象为“00:00:00”,减去2后的对象为“23:59:58”;若原时间对象为“23:59:59”,加上1后的对象为“00:00:00”;若原时间对象为“24:60:60”,加减后的对象仍为“24:60:60”1. Time::Time()无参构造方法。原创 2023-06-25 16:30:50 · 63 阅读 · 0 评论 -
c++作业3-G(1391)时间类的12小时制输出
9. Time::showTime12Hour()方法:输出12小时制的时间:上午输出“hh:mm:ss a.m.”、下午输出“hh:mm:ss p.m.”。每组测试数据对应一组输出,奇数行的输入对应输出24小时制时间“hh:mm:ss”,偶数行的输入对应输出12小时制时间:上午输出“hh:mm:ss a.m.”、下午输出“hh:mm:ss p.m.”,不足两位的输出需要前面补0。该方法返回修改后的对象。24小时制的12:00~12:59,是12小时制的12:00 p.m.~12:59 p.m.;原创 2023-06-17 17:37:01 · 117 阅读 · 0 评论 -
c++作业8-B(1827)不同交通工具的速度
km/h.”,其中“*”是bike、motobike或car,根据所在类不同而不同。2. void drive(Vechicle&)方法,输出“$ drives”, 并调用Vechicle类的show()方法。其中“$”是name的值。2. 静态数据成员int numOfVechicles,表示创建的交通工具的数量。3. 静态成员函数int getNumOfVechicles(),用于获取交通工具的数量。不同交通工具的速度是不同的。输出“A * is deleted.”,“*”的含义同上。原创 2023-07-08 09:44:08 · 85 阅读 · 0 评论 -
c++作业7-F(2102)汽车、客车、货车
【语法强制纯虚析构函数必须有函数实现,因为有时父类也有一些数据开辟在堆区,既要使用纯虚函数,又要释放父类在堆区中的数据,就需要使用类内纯虚函数声明,类外写实现的写法。输入有多行,每行一个测试用例,每行包括1个正整数(车的轮子数量)、1个字符b或者t(b、t分别表示客车、货车)、1个正整数(可乘坐的人数或可承载的货物重量)。当基类中的某函数被virtual修饰时(public),程序调用此函数,则会执行继承该基类的派生类中的方法。2. 构造函数、析构函数,输出如样例所示的信息。解决方式:将父类中的。原创 2023-07-07 20:47:01 · 130 阅读 · 0 评论 -
c++作业2-E(1331)平面上的点和线——Point类、Line类 (V)
Line::SetLine(double, double, double, double)方法:设置Line对象起点的x,y坐标(第一个和第二参数)和终点的x,y坐标(第三个和第四个坐标),并返回本对象。输出为多行,每行为一条线段,起点坐标在前终点坐标在后,每个点的X坐标在前,Y坐标在后,Y坐标前面多输出一个空格,用括号包裹起来。每行为两组坐标“x,y”,分别表示线段起点和终点的x坐标和y坐标,两组坐标间用一个空格分开,x和y的值都在double数据范围内。1.使用友元,直接读入Point的坐标。原创 2023-06-16 14:51:45 · 139 阅读 · 1 评论 -
c++作业2-B(1328)平面上的点和线——Point类、Line类 (II)
每行为两组坐标“x,y”,分别表示线段起点和终点的x坐标和y坐标,两组坐标间用一个空格分开,x和y的值都在double数据范围内。在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段。输出为多行,每行为一条线段,起点坐标在前终点坐标在后,每个点的X坐标在前,Y坐标在后,Y坐标前面多输出一个空格,用括号包裹起来。根据“append.cc”,完成Point类和Line类的构造方法和show()方法,输出各Line对象的构造和析构次序。1.Point类中x,y的不private。原创 2023-06-14 22:37:04 · 65 阅读 · 0 评论 -
C++作业7-A(1571)立体空间中的点(I)
m为3时后面有3个浮点数x、y、z,表示一个3维的点的坐标(x,y,z)。设计一个平面上的点Point类和3维的点Point_3D类,满足Point_3D类继承自Point类,用于读取输入的数据,输出所构造的两种点的坐标。Point_3D::Point_3D(double,double,double)三个坐标参数构造。若输入为3维的点,则输出:“3D Point (x,y,y)”,x、y和z为输入的坐标值。若输入为平面上的点,则输出:“2D Point (x,y)”,x和y为输入的坐标值。原创 2023-07-03 17:28:32 · 57 阅读 · 0 评论 -
c++作业4-C(1574)时间和日期类(I)
日期的输出格式为“yyyy-mm-dd”,时间的输出格式为“hh:mm:ss”,中间用一个空格分开。Date::Date(int,int,int)构造方法:传入的参数依次为年月日,用参数将日期初始化。Time::Time(int,int,int)构造方法:传入的参数依次为时分秒,用参数将时间初始化。每组测试数据的前3个整数是日期的年月日,后3个整数是时间的时分秒。设计一个时间类和一个日期类,用于读取输入的数据,按格式输出日期和时间。Date::showDate()按格式输出Date对象。原创 2023-06-25 20:14:08 · 85 阅读 · 0 评论 -
c++作业4-E(1576)时间和日期类(III)
在上述两个DateTime类的构造函数中输出:“CREATE DateTime : (y, m, d, hh, mm, ss)”,其中y、m、d为初始化对象时的年月日值,h、m、s为初始化对象时的时分秒值。在这个DateTime类的构造函数中输出:“CREATE DateTime : (y, m, d) (hh, mm, ss)”,其中y、m、d为初始化对象时的年月日值,h、m、s为初始化对象时的时分秒值。Time::Time(int,int,int)构造方法:传入的参数依次为时分秒,用参数将时间初始化。原创 2023-06-25 21:51:17 · 123 阅读 · 0 评论 -
c++作业4-D(1575)时间和日期类(II)
DateTime::setDateTime(int,int,int,int,int,int)方法:依照参数(顺序为年月日、时分秒)修改对象的属性值;DateTime::DateTime(int,int,int,int,int,int)构造方法:依照参数(顺序为年月日、时分秒)初始化对象;Date::setDate(int,int,int)方法:传入的参数依次为年月日,用参数修改对象的属性值。Time::setTime(int,int,int)方法:传入的参数依次为时分秒,用参数修改对象的属性值。原创 2023-06-25 21:20:08 · 85 阅读 · 0 评论 -
c++作业5-A(1572)数组类(I)
3. Array::get(int n)方法:按格式从输入读取n元素。1. Array::Array()无参构造方法:创建一个空数组对象。2. Array::size()方法:返回Array对象中元素个数。把输入的数组,输出出来。你设计一个数组类Array,使得main()函数能够正确运行。注意指针的数据类型,返回值类型,不一定都是定义的类的类型。后面的每行以一个整数k开头,表示后面有k个整数。输入的第一个整数n,表示有n组测试数据。4. 下标运算符:返回下标所指的元素。函数调用格式见append.cc。原创 2023-07-08 16:53:35 · 68 阅读 · 0 评论 -
c++作业4-F(1577)时间和日期类(IV)
在上述两个DateTime类的构造函数中输出:“CREATE DateTime : (y, m, d, hh, mm, ss)”,其中y、m、d为初始化对象时的年月日值,h、m、s为初始化对象时的时分秒值。在这个DateTime类的构造函数中输出:“CREATE DateTime : (y, m, d) (hh, mm, ss)”,其中y、m、d为初始化对象时的年月日值,h、m、s为初始化对象时的时分秒值。Time::Time(int,int,int)构造方法:传入的参数依次为时分秒,用参数将时间初始化。原创 2023-06-27 23:08:21 · 87 阅读 · 0 评论 -
C++作业7-E(2057)家教课程
4. Course类:是一个组合类,有1个Teacher类的对象、1个Student类型的对象,以及一个string类型的属性(表明对象的名称)组成。所以就只好做家教了。输入5行,前4个是4个字符串,分别是老师的名字、学生的名字、老师的职称、课程的名字。1. Person类:有一个string类型的属性,表明对象的名字。3. Teacher类:是Person类的子类,拥有一个string类型的属性,表明对象的职称。2. Student类:是Person类的子类,拥有一个int类型的属性,表明对象的序号。原创 2023-07-07 19:52:11 · 128 阅读 · 0 评论 -
c++作业1-D(1124)平面上的点——Point类 (IV)
对每个Point对象,调用show()方法输出其值,或者用showPoint()函数来输出(通过参数传入的)Point对象的值:X坐标在前,Y坐标在后,Y坐标前面多输出一个空格。而对于有自己的元素组成和构造方式的模块来说,仅仅是单纯的申请空间是无法生成新的模块的,这就需要用拷贝构造函数用实参生成形参。对于参数传引用的方式,仅仅是对同一个数据模块,在主调函数里是一个名字,在被调函数里是一个名字,相当于一个人的大名和小名~在这种方式下,无论是简单的变量,还是复杂的类对象,处理和理解都是一样的。原创 2023-05-18 16:25:37 · 220 阅读 · 0 评论