Unit1.cpp
#include <vcl.h>
#pragma hdrstop
#include "函数模板重载.cpp"
#include "Unit1.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) {
int a = 1, b = 2, c = 3;
Memo1->Text = "函数模板重载示例";
Memo1->Lines->Add(sum(a, b)); // 函数模板重载
Memo1->Lines->Add(sum(a, b, c)); // 函数模板重载
}
// ---------------------------------------------------------------------------
函数模板重载.cpp
#include <iostream>
// 重载,简单的理解就是函数名称相同,参数不同。
template<class T1>
int sum(T1 a, T1 b) {
return a + b;
}
template<class T1>
int sum(T1 a, T1 b, T1 c) {
return a + b + c;
}
输出效果