在父类和子类中定义重载函数
来源:互联网 发布:js分享代码移动端 编辑:程序博客网 时间:2024/05/22 07:01
重载函数可以定义在全局或某个类中,其实不仅如此,重载还可以发生在父类和子类中。请看示例。
示例清单
#include "stdio.h"
#include "string.h"
class CMessage
{
public:
CMessage(){};
void ShowMessage(const char* Text ,const char* Caption)
{
printf("Message: Text=%s. Caption=%s/n",Text,Caption);
}
void ShowMessage(const char* Text ,unsigned int Type)
{
printf("Message: Text=%s. Type=%d/n",Text,Type);
}
void ShowMessage(const char* Text)
{
printf("Message: Text=%s/n",Text);
}
};
class COKMessage :public CMessage
{
public:
COKMessage(){};
void ShowMessage(const char* Text ,const char* Caption)
{
char TextForOK[40];
strcpy(TextForOK,"OK,");
strcat(TextForOK,Text);
CMessage::ShowMessage( TextForOK , Caption);
}
void ShowMessage(const char* Text ,unsigned int Type)
{
char TextForOK[40];
strcpy(TextForOK,"OK,");
strcat(TextForOK,Text);
CMessage::ShowMessage(TextForOK , Type);
}
void ShowMessage(const char* Text )
{
char TextForOK[40];
strcpy(TextForOK,"OK,");
strcat(TextForOK,Text);
CMessage::ShowMessage(TextForOK);
}
};
int main()
{
COKMessage OKMessage;
OKMessage.ShowMessage("Welcom");
OKMessage.CMessage::ShowMessage("Welcom");
return 0;
}
程序输出结果:
Message: Text=OK,Welcom
Message: Text=Welcom
子类与父类中存在同名的成员函数,称为重载。在上例中,子类与父类的3个成员函数不仅名称相同,声明也完全一致。
这种父子声明一致的重载,不可能通过参数类型或数量确定调用函数,而是通过在父类的成员函数前加T::进行区分(其中T为父类名),
如上例的CMessage::ShowMessage("Welcom")。
- 在父类和子类中定义重载函数
- 在父类和子类中定义重载函数 心得
- C++父类子类间函数重定义,虚函数重写(覆盖)以及重载
- C++父类子类间函数重定义,虚函数重写(覆盖)以及重载
- 子类重载父类的虚函数
- 子类、父类之间实现函数重载
- 子类重载父中的函数
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C 中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- PKU1190 post office
- 小白软件管家 菜鸟也能蜕变软件达人
- vs2003和vs2005的区别
- poj 3667 恶心到线段树,这是我到现在为止写过到最烦到线段树。 主要有 中间线段到操作
- define标准中的 # 和 ## 操作
- 在父类和子类中定义重载函数
- 版本冲突思考
- window svn服务器 服务
- gdb调试心得
- 一段测试是否在vm里面的asm
- linux-2.6.19在(ARM926EJS)平台从入口到start_kernel 的代码
- Flex内存泄露问题
- 2010 语录
- 遍历 listbox