版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.有一个Time类,包含数据成员minute(分)和sec(秒),重载单目运算符++,operator++(),模拟秒表,每次走一秒,满60秒进一分钟,此时秒又从0开始算。定义成员函数display。,输出分和秒的值。在main函数中用参数3分59秒(3,59),对类实例化,调用对象的成员函数display。,输出当前分和秒,然后调用重载运算符++,再调用display。,输出最后分和秒的值。(15分)#include<iostream>usingnamespacestd;classTime//(1分){public:Time(int,int);voidoperator++();//(2分)voiddisplay();//(1分)private:intminute,sec;//(1分)};Time::Time(inta,intb)//(1分){minute=a;sec=b;}voidTime::operator++()//(4分){if(sec<59)sec++;else{minute++;sec=0;}}voidTime::display()//(2分){cout<<minute<<":"<<sec<<endl;}intmain(){TimeT1(3,59);//(1分)T1.display();//(1分)T1++;//(1分)T1.display();return0;}6.1.定义Boat与Car两个类,二者都有weight属性,定义二者的一个友元函数inttotalWeight(Boatb1,Carc1),计算二者的重量和。在主程序中定义Boat与Car的对象,调用totalWeight()函数,并输出其运算结果。(15分)#include<iostream>usingnamespacestd;classcar;//(1分)classboat{//(1分)private:intweight;//(1分)public:boat(intw):weight(w){}//(1分)friendinttotalweight(boatb1,carc1);//(3分)};classcar{//(1分)private:intweight;//(1分)public:car(intw):weight(w){};friendinttotalweight(boatb1,carc1);//(2分)};inttotalweight(boatb1,carc1)//(2分){returnb1.weight+c1.weight;}voidmain(){carc1(1000);boatb1(2000);//(1分)cout<<totalweight(b1,c1)<<endl;//(1分)}6.2、设计一个类score用于统计一个班的学生成绩,其中使用一个静态数据成员sum存储总分和一个静态成员函数GetSum()返回该总分。#include<iostream>usingnamespacestd;classscore{public:score(ints){scores=s;}staticvoidadd(score&c){sumfs+=c.scores;}staticintrsumfs(){cout<<"总分"<<sumfs<<endl;returnsumfs;}private:intscores;staticintsumfs;};intscore::sumfs=0;intmain(){scorexiaoming(80);scorexiaohua(80);score::add(xiaoming);score::add(xiaohua);score::rsumfs();return0;}5.1.先建立一个点类Point,包含数据成员x,y(坐标点)。以它为基类,派生出圆类Circle,增加数据成员radius(半径),再以Circle类为直接基类,派生出圆柱体类Cylinder,再增加数据成员height(高)。要求:(1)每个类都有构造函数,用于从键盘获取数据的成员函数set(),用于显示数据的成员函数display()。(2)用虚函数实现各类对象信息的输入/输出。#include<iostream>usingnamespacestd;#include<string>classPoint//点类{public:Point(float=0,float=0);//构造函数virtual~Point(){}//析构函数virtualvoidset();//虚函数virtualvoiddisplay();//虚函数protected:floatx,y;//坐标点};Point::Point(floatx,floaty){this->x=x;this->y=y;}voidPoint::set(){cout<<"Pleaseentertheinformationofpoint(x,y):";cin>>x>>y;}voidPoint::display(){cout<<"x="<<x<<"y="<<y<<endl;}classCircle:publicPoint//圆类{public:Circle(float=0,float=0,float=0);//构造函数~Circle(){}//析构函数virtualvoidset();//重新定义虚函数virtualvoiddisplay();//重新定义虚函数protected:floatradius;//圆半径
};Circle::Circle(floatx,floaty,floatradius):Point(x,y){this->radius=radius;}voidCircle::set(){cout<<"PleaseentertheinformationofCircle(x,y,radius):";cin>>x>>y>>radius;}voidCircle::display(){cout<<"x="<<x<<"y="<<y<<"radius="<<radius<<endl;}classCylinder:publicCircle//圆柱体类{public:Cylinder(float=0,float=0,float=0,float=0);//构造函数~Cylinder(){}virtualvoidset();virtualvoiddisplay();//圆柱体的高protected:floatheight;~Cylinder(){}virtualvoidset();virtualvoiddisplay();//圆柱体的高protected:floatheight;};Cylinder::Cylinder(floatx,floaty,floatradius,floatheight):Circle(x,y,radius){this->height=height;}voidCylinder::set(){cout<<"PleaseentertheinformationofCylinder(x,y,radius,height):";cin>>x>>y>>radius>>height;}voidCylinder::display(){cout<<"x="<<x<<"y="<<y;cout<<"radius="<<radius<<"height="<<height<<endl;}intmain(){//定义基类指针Point*p;//定义基类指针Pointpoint;p=&point;p->set();p->display();Circlecircle(0,0,3);//定义派生类对象p=&circle;p->display();p->set();p->display();Cylindercylinder(0,0,3,10);//定义派生类对象p=&cylinder;p->display();p->set();p->display();return0;}4.1.定义一个基类person,有数据成员姓名、性别、年龄,有构造函数person(stringn,strings,inta),对类的数据成员进行初始化,再由基类派生出学生类student,学生类增加数据成员学号、班级、专业和入学成绩,定义构造函数student(stringn,strings,inta,stringnu,stringg,stringm,doublesc),定义成员函数voidshow(),输出学生的各项数据成员数值。在main函数中,对student类进行实例化,调用构造函数对数据成员进行初始化,并调用成员函数show(),输出学生对象的各项信息。#include<string>#include<iostream>usingnamespacestd;classperson{public:person(string,string,int);protected:stringname;stringsex;intage;};person::person(stringn,strings,inta){name=n;sex=s;age=a;}classstudent:publicperson{public:student(string,string,int,string,string,string,double);voidshow();private:stringnum;stringgrade;stringmajor;doublescore;};student::student(stringn,strings,inta,stringnu,stringg,stringm,doublesc):person(n,s,a){num=nu;grade=g;major=m;score=sc;}voidstudent::show(){cout<<"姓名:"<<name<<endl<<"性别:"<<sex<<endl<<"年龄:"<<age<<endl;cout<<"学号:"<<num<<endl<<"年级:"<<grade<<endl<<"专业:"<<major<<endl<<"入学成绩:"<<score<<endl;}intmain(){students("李璐遥",”女",21,"201702002026","大二","应用心理学",540);s.show();return0;}设计一个汽车类Vehicle,包含的数据成员有车轮个数wheels和车重weight。小车类Car是它的派生类,其中包含载人数passenger_Load。每个类都有相关数据的输出方法。在主程序中定义一个Car类对象,对其车轮个数、车重、载人数进行设置并显示。#include<iostream>usingnamespacestd;classvehicle{private:intwheels;floatweight;public:vehicle(intwheels1,floatweight1){wheels=wheels1;weight=weight1;}intget_wheels(){returnwheels;}floatget_weight(){returnweight;}voidshow(){cout<<"车轮:"<<wheels<<"个"<<endl;cout<<"重量:"<<weight<<"公斤"<<endl;}};classcar:publicvehicle{private:intpassenger_load;public:car(intwheels1,floatweight1,intpassengers):vehicle(wheels1,weight1){passenger_load=passengers;}intget_passengers(){returnpassenger_load;}voidshow(){cout<<"车型:小车"<<endl;vehicle::show();cout<<"载人:"<<passenger_load<<"人"<<endl;cout<<endl;}};intmain(){carcar1(4,2000,5);cout<<"输出结果"<<endl;car1.show();return0;}3.1.定义一个名为rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标(x1,y1)、(x2,y2),定义构造函数rectangle(intxx1,intyy1,intxx2,intyy2),对类的数据成员进行初始化,定义类的成员函数intgetarea(),计算矩形的面积,在main函数中对rectangle类进行实例化,调用对象的getarea()函数,输出矩形的面积。1.#include<iostream>#include<math.h>usingnamespacestd;classrectangle//(2分){private:intx1,y1,x2,y2;//(2分)public:rectangle(intxx1,intyy1,intxx2,intyy2)//(1分){x1=xx1;y1=yy1;x2=xx2;y2=yy2;}intgetarea()//(2分){returnabs((x2-x1)*(y1-y2));}};voidmain(){rectanglerect1(3,7,8,5);//(2分)cout<<rect1.getarea()<<endl;//(1分)return0;}请编写一个基于对象的程序。数据成员包括三角形的三边长a、b、c。要求用成员函数实现以下功能:定义构造函数完成三角形的初始化;求三角形的周长;求三角形的面积;输出三角形信息。【程序参考代码】#include<iostream>usingnamespacestd;#include<cmath>classTriangle//声明三角形类{public:Triangle(floatx,floaty,floatz);voidsetTriangle(floatx,floaty,floatz);//设置三角形三
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗新技术项目质量管理
- 科研机构门窗施工合同协议书
- 机场环卫工招聘合同
- 网络安全机电工程管理办法
- 产业园区混凝土招标模板
- 节能改造工程承包合同
- 2025年度新型材料购销合作合同
- 2024年版短租公寓租赁合同3篇
- 2024年特定条款个人借款合同范本一
- 2024年版技术开发合同详细条款
- 安徽省芜湖市2023-2024学年高二上学期期末考试 物理 含解析
- 人教A版(新教材)高中数学选择性必修第三册学案2:7 1 1 条件概率
- 药房质量方针和目标管理制度
- 北京邮电大学《数据库系统》2023-2024学年期末试卷
- 职业技术学院《智能化成本核算与管理》课程标准
- 《如果超载电梯停》教学设计
- 防火门工程施工组织设计方案
- 期末(试题)-2024-2025学年北师大版(三起)(2024)英语三年级上册
- 大连市2024年数学四上期末统考试题含解析
- 《数据挖掘技术》教学大纲
- 静疗规范课件
评论
0/150
提交评论