#include <常用>
//方便造引用.
用 T=无序集<串>;
类 B{//这样只能造一个引用.
//如何限制为`B`类局部呢
单 T&语=集引<串,0,B>(),&列=集引<串,1,B>();
单 串&啊=造引<串,0,B>(),&呀=造引<串,1,B>();
//T&列=语;
公:
空 切换(T&a,T&b){
语=a;列=b;
打印大小(语,列);
打印(语);
打印(列);
}
空 切换(串&a,串&b){
啊=a;呀=b;
打印大小(啊,呀);
打印(啊);
打印(呀);
}
};

类 E{//这样只能造一个引用.
//如何限制为`B`类局部呢
单 T&语=集引<串,0,E>(),&列=集引<串,1,E>();
单 串&啊=造引<串,0,E>(),&呀=造引<串,1,E>();
公:
空 哈哈(){
打印大小(语,列,啊,呀);
}
};
构 D{
串 s;
};
//差别是4/12,4/32的区别.
空 主(){
T c{"啊"},d{"啊","呀"};
B b;b.切换(c,d);
打印("---");
b.切换(d,c);
串 m{"只只只"},n{"呀只"};
打印("---");
b.切换(m,n);
打印("---");
E e;e.哈哈();
打印(型长(B),型长(E),型长(D));
}