#include <stdarg.h>
string StrKit::strcat (
char const* str1, // [输入] 字符串1
char const* str2, // [输入] 字符串2
... // [输入] 字符串n
) {
// 用第一个参数字符串初始化结果字符串
string str = str1;
// 将第二个参数字符串拼接到结果字符串末尾
str += str2;
// 变长参数表
va_list ap;
// 用str2以后的参数初始化变长参数表
va_start (ap, str2);
// 指向变长参数表中参数的指针
char const* strx = NULL;
// 依次获取变长参数表中的每个字符串参数
while (strx = va_arg (ap, char const*))
// 拼接到结果字符串末尾
str += strx;
// 销毁变长参数表
va_end (ap);
// 返回结果字符串
return str;
}