博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++重载函数定义和用法
阅读量:5994 次
发布时间:2019-06-20

本文共 2714 字,大约阅读时间需要 9 分钟。

/************************************************************************/#include 
#include
/************************************************************************//* 定义一个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 <

  

上面的是函数的重载,

下面是函数的隐藏和覆盖

#include 
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);}

  

转载地址:http://qiqlx.baihongyu.com/

你可能感兴趣的文章
Windows下PHP+Eclipse开发环境搭建 及错误解决(apache2.2服务无法启动 发生服务特定错误:1)...
查看>>
小记--写给自己看
查看>>
第1部分 Elasticsearch基础
查看>>
重装ubuntu
查看>>
YUV格式入门
查看>>
Maven环境变量配置
查看>>
ORA-12899: value too large for column
查看>>
vue.js知识总结
查看>>
WCF客户端
查看>>
LeetCode 110. Balanced Binary Tree平衡二叉树 (C++)
查看>>
python 对象
查看>>
剖析Reflection.getCallerClass
查看>>
读《程序员,你伤不起》杂感(附带分享两个项目源码)
查看>>
2011-11-08反思
查看>>
2019春第三周作业
查看>>
Angular开发者指南(一)入门介绍
查看>>
IDEA之Git分支以及Stash使用
查看>>
DOM(九)使用DOM设置文本框
查看>>
Kafka如何实现每秒上百万的高并发写入
查看>>
css ::selection 的妙用
查看>>