c++与数据结构 哈理工 编写程序_第1页
c++与数据结构 哈理工 编写程序_第2页
c++与数据结构 哈理工 编写程序_第3页
c++与数据结构 哈理工 编写程序_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编写程序4. 扩充日期类Date的定义,增加一个成员函数NumberOfDays(),计算当前对象中的日期是其年份的第几天,并编写一个主函数用来测试这个成员函数。#include class Date public: void SetDate(int y=2006,int m=1,int d=1) year=y; month=m0&m13?m:1; day=d; int IsLeap_Year() if(year%400=0)|(year%4=0&year%100!=0)return 1; return 0; int GetYear() return year; int Getmonth() return month; int GetDay() return day; void Print() coutyear.month.dayendl; int NumberOfDays() int days=31,28,31,30,31,30,31,31,30,31,30,31; int days_leap=31,29,31,30,31,30,31,31,30,31,30,31; int SumDays=day; if(IsLeap_Year()=1) for(int i=0;imonth-1;i+)SumDays=SumDays+days_leapi; else for(int i=0;iSetDate(2008,11,28); date-Print(); coutIt is the NumberOfDays()th day of the year.endl;定义一个名为Integer的证书类,具有数据成员d和以下成员函数,成员函数包括GetD()获取d的值,SetD(int)设置d的值,IsOdd()判断d是否为一个偶数,IsPrime()判断d是否为一个素数,并涉及主函数用一个对象分别设置d的值为15和31,编写一个主函数测试这个类。#include class Integerint d; /题目说数据成员为d,所以在类的声明中都应该是d,下面我 / 都给你改了public:Integer(int a) /我看你测试函数写了Integer a(15); 这是要调用构造函数的d=a; /而你没有写构造函数,我就帮你写了一个int GetD()return d;void SeD(int a)d=a;void IsOdd()if(d%2=0)coutd是偶数endl;elsecoutd不是偶数endl;void IsPrime()int temp=0;for(int i=2;id;i+) /判断是否是素数要这样写,否则会有d个输出if(d%i=0) temp=1;break;if(temp=1)coutd不是素数endl;elsecoutd是素数endl;void main()Integer a(15); /类的实例化的名称不能是一样的。就像变量名,不同的变/量不能用相同的变量名a.IsOdd();coutendl;a.IsPrime();coutendl;Integer b(31);b.IsOdd();coutendl;b.IsPrime();coutendl;4.设计一个father类,一个mother类和一个child类。其中child类继承father类和mother类。Father类和mother类都包含星河明两个数据成员。Child类仅包含名数据成员。要求一个child类的对象能够输出父母和自己的姓名#includeclass fatherchar a100;public:father()cout输入父亲姓名:a;void outputName()cout父亲姓名:aendl;class motherchar b100;public:mother()cout输入母亲姓名:b;void outputName()cout母亲姓名:bendl;class child:public father,public motherchar c100;public:child()cout输入孩子姓名:c;void outputName() father:outputName(); mother:outputName();cout孩子姓名:cendl;void main()child d1;d1.outputName();用虚函数和抽象类的概念设计求正方体,圆柱体和球体体积的程序#include const double PI=3.14159265;class circle public: circle(double r) radius = r; virtual double area() return 0.0; virtual double volume() return 0.0; protected: double radius;class sphere:public circle public: sphere( double r ):circle( r ) double area() return 4.0 * PI * radius * radius; double volume() return 4.0 * PI * radius * radius * radius / 3.0; ;class column:public circle public: column( double r,double h ):circle( r ) height = h; double area() return 2.0 * PI * radius * ( height + radius ); double volume() return PI * radius * radius * height; private: double height;void main() circle *p; sphere sobj(2); p = &sobj; cout 球体: endl; cout 体积 = volume() endl; cout 表面积 = area() endl; column cobj( 3,5 ); p = &cobj; co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论