40 C++基础-继承与派生基础

1.继承与派生基础

  • 被继承的类被称为基类、父类、或超类
  • 继承后的新类称为子类、派生类

子类从父类获得特征称为继承

1.1 父类
#ifndef TIME_H
#define TIME_H

class CTime{

public:

    CTime();

    void setHour(int hour);

    void setMinute(int minute);

    void setSecond(int second);

    int getHour();

    int getMinute();

    int getSecond();
private:
    int m_nHour;
    int m_nMinute;
    int m_nSecond;
};

#endif
1.2 子类继承

头文件

#ifndef CURRENT_TIME_H
#define CURRENT_TIME_H

#include "Time.h"

// 子类 CCurrentTime 继承父类 Ctime
class CCurrentTime : public CTime{

public:
    // 构造函数
    CCurrentTime();
    // 析构函数
    ~CCurrentTime();

    void init();
};

#endif

cpp实现

#include<iostream>
#include "Time.h"
#include "CurrentTime.h"

using namespace std;

CCurrentTime::CCurrentTime() 
{
    cout<<"CCurrentTime constructor"<<endl;
}

CCurrentTime::~CCurrentTime() 
{
    cout<<"CCurrentTime destructor"<<endl;
}

void CCurrentTime::init() 
{
    time_t t = time(0);
    tm tt = *localtime(&t);

    // 调用父类的方法
    setHour(tt.tm_hour);
    setMinute(tt.tm_min);
    setSecond(tt.tm_sec);
}
1.3 调用实例
#include <iostream>
#include "Time.h"
#include "CurrentTime.h"


using namespace std;

int main() {

    CCurrentTime curTime;
    curTime.init();
    // 23:55:16
    cout<<curTime.getHour()<<":"<<curTime.getMinute()<<":"<<curTime.getSecond()<<endl;
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

法迪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值