c++重载函数定义和使用

/************************************************************************/
#include <iostream.h>
#include <WINDOWS.H>
 
/************************************************************************/
/* 定义一个CLOCK类                                                      */
/************************************************************************/
class  CLOCK
{
     private :
         int  hour, minute, second;
     public :
         CLOCK();
         CLOCK( int , int , int );
 
         void  update();
         void  display();
     
};
 
/************************************************************************/
/* 定义CLOCK函数                                                        */
/************************************************************************/
CLOCK::CLOCK()
{
     hour = minute = second = 0;
     cout << "\t One object initialalized."  << endl;
}
 
/************************************************************************/
/* 定义CLOCK重载函数                                                    */
/************************************************************************/
CLOCK::CLOCK( int  h, int  m, int  s)
{
     hour = h;
     minute = m;
     second = s;
     cout << "\t An object initialalized."  << endl;
}
 
/************************************************************************/
/*                                                                      */
/************************************************************************/
void  CLOCK::update()
{
     second++;
     if (second == 60)
     {
         second = 0;
         minute ++;
     }
     if  (minute == 60)
     {
         minute = 0;
         hour++;
     }
     if  (hour == 24)
     {
         hour = 0;
     }
}
 
/************************************************************************/
/*                                                                      */
/************************************************************************/
void  CLOCK::display()
{
     cout  << hour << ":"  << minute << ":"  << second <<endl;
}
 
/************************************************************************/
/* main函数                                                             */
/************************************************************************/
void  main()
{
     CLOCK MyClock(12, 0, 0);
//声明类名
     while (1)
     {
         MyClock.display();
         MyClock.update();
         Sleep(1000);
     }
}

  

上面的是函数的重载,

下面是函数的隐藏和覆盖

#include <IOSTREAM.H>
 
int  a = 5;
int  &b = a;
 
/************************************************************************/
/*   Base                                                                   */
/************************************************************************/
class  Base
{
public :
     virtual  void  fn();
};
/*Derived类的fn(int)函数隐藏了Base类的fn函数*/
class  Derived: public  Base
{
public :
     /*派生类的函数与基类的函数同名,但参数列表不同
     在这种情况下,不管基类的函数声明是否有virtual
     关键字,基类的函数都将被隐藏。*/
     void  fn( int );
};
/*Derived2类的fn()函数隐藏了Derived类的fn(int)
*/
class  Derived2: public  Derived
{
public :
     void  fn();
};
 
 
class  animal
{
public :
     void  eat()
     {
         cout << "animal eat"  << endl;
     }
 
     void  sleep()
     {
         cout << "animal sleep"  << endl;
     }
 
     void  breathe()
     {
         cout << "animal breathe"  << endl;
     }
};
 
class  fish: public  animal
{
public :
     void  breathe()
     {
         cout << "fish bubble"  << endl;
     }
};
 
void  fn(animal *pAn)
{
     pAn->breathe();
}
 
void  main()
{
     animal *pAn;
     fish fh;
     pAn = &fh;
     fn(pAn);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值