设为首页 加入收藏

TOP

1.1.3 重载函数使用实例
2013-10-07 00:17:39 来源: 作者: 【 】 浏览:56
Tags:1.1.3 重载 函数 使用 实例

1.1.3  重载函数使用实例

在全局和类的范围内都可以定义重载函数。示例1.1和示例1.2分别演示了在全局范围内和类的范围内定义重载函数,两个程序的输出结果相同。

示例清单1.1

#include "stdio.h"
//在全局范围内定义两个ShowMessage()重载函数
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);
}

int main()
{
//依次调用两个重载函数
ShowMessage("ok","welcom");
ShowMessage("ok",1);

return 0;
}

示例清单1.2
#include "stdio.h"
class CMessage
{
public:
CMessage(){};
//在类中定义两个内联的重载函数ShowMessage() 
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);
}

};

int main()
{
CMessage LoginMessage;
//依次调用对象LoginMessage的两个重载的成员函数
LoginMessage.ShowMessage("ok","welcom");
LoginMessage.ShowMessage("ok",1);

return 0;
}

以上两程序的输出结果如下:
Message: Text=ok,Caption=welcom
Message: Text=ok,Type=1

通过以上学习,可以得出这样的结论:编译器依据传递的实参类型和个数确定重载函数的调用。
【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.1.4 编译器调用重载函数的规则 下一篇1.2.3 将运算符重载为友元和成员..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: