注册 登录
编程论坛 C++教室

这个用C++继承方面的怎么写

正气 发布于 2017-06-12 20:47, 3113 次点击
、定义日期型“Date”类,保存在“date.h”中(成员函数包括日期赋初值,设置日期,读取年、月、日,显示年、月、日及判断是否闰年等)。
2、定义时间型“Time”类,保存在“Time.h”中(与实验一中的类相同)。
3、定义日期时间型“DateTime”类保存在“datetime.h”中:
⑴ 公有继承Date类及Time类;
⑵ 不增加数据成员;
⑶ 增加日期时间处理成员函数,包括初始化日期时间、设置日期时间、显示日期时间等。
4 回复
#2
正气2017-06-12 21:00
#include <iostream.h>
#include <string.h>
class time
{
private:
    int hour,min,sec;
public:
    time(int h,int m,int s)
    {hour=h;min=m,sec=s;}
    void fun()
    {cout<<"时间是"<<hour<<":"<<min<<":"<<sec;
    if (hour>12)
        cout<<"pm"<<endl;
    else
        cout<<"am"<<endl;
    }
   
};
#include < iostream.h >
#include < string.h >
class date
{private:
int year,month,day;
public:
    date(int y,int M,int d)
    {year=y;month=M;day=d;}
    void fun()
    {cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
   
    if((year%4==0)&&(year%100!=0)||(year%400==0))
        cout<<"此年是闰年"<<endl;   
    else
        cout<<"此年不是闰年"<<endl;
    if(month>12)cout<<"输入时间错误"<<endl;}
};
#include <iostream.h>
#include <string.h>
#include "date.h"
#include "time.h"
class datetime:public date,public time
{public:
datetime(int y,int M,int d,int h,int m,int s):date( y, M, d),time( h, m, s)
{}
void fun()
{
    date::fun();
    time::fun();
}
};
#include "date.h"
#include "datetime.h"
#include "time.h"
#include <iostream.h>
#include <string.h>
void main()
{
   
    datetime A(2017,7,27,11,20,23);
    A.fun();
}
这个有错误怎么改fatal error C1083: Cannot open include file: 'date.h': No such file or directory
#3
某一天2017-06-13 09:13
上面的代码是在同一个文件夹码?
如果是在同一个文件夹,把
#include "date.h"
#include "time.h"
这3行删除掉就可以了.
如果不是的话,需要根据自己的实际情况修改了.

最简单暴力,但在代码规范方面不能接受的方法是,
把"date.h","time.h"等修改成绝对路径,比如假若date.h文件是在D:\code\文件夹下,那么把"date.h"修改成"D:\\code\\date.h".
#4
程序猿新手2017-06-13 10:34
首先要把英语学好,知道错在哪就好改了。
#5
程序猿新手2017-06-13 10:35
程序代码:
#include <iostream.h>
#include <string.h>
class time
{
private:
    int hour,min,sec;
public:
    time(int h,int m,int s)
    {hour=h;min=m,sec=s;}
    void fun()
    {cout<<"时间是"<<hour<<":"<<min<<":"<<sec;
    if (hour>12)
        cout<<"pm"<<endl;
    else
        cout<<"am"<<endl;
    }
   
};
#include < iostream.h >
#include < string.h >
class date
{private:
int year,month,day;
public:
    date(int y,int M,int d)
    {year=y;month=M;day=d;}
    void fun()
    {cout<<year<<""<<month<<""<<day<<""<<endl;
   
    if((year%4==0)&&(year%100!=0)||(year%400==0))
        cout<<"此年是闰年"<<endl;   
    else
        cout<<"此年不是闰年"<<endl;
    if(month>12)cout<<"输入时间错误"<<endl;}
};
#include <iostream.h>
#include <string.h>

class datetime:public date,public time
{public:
datetime(int y,int M,int d,int h,int m,int s):date( y, M, d),time( h, m, s)
{}
void fun()
{
    date::fun();
    time::fun();
}
};

#include <iostream.h>
#include <string.h>
void main()
{
   
    datetime A(2017,7,27,11,20,23);
    A.fun();
}
1