A{
a,b;
A(&e){//有它后
a=e.子串(0,1);
b=e.子串(0,2);
}
};
(){
a{"ab"},b{"ac"};
A e{a,b};
}

这里,想用​​显 A(串&e)​​​来单独从​​1个串​​​来构造.但又想保留两个​​a,b​​​来构造的能力,然而,没用!
编译不了,加上这句

A( a, b)=默认;//就没用.

没用,同样没用!我们这样:

 A{
a,b;
切换(&e){//有它后
a=e.子串(0,1);
b=e.子串(0,2);
}

};
(){
a{"ab"},b{"ac"};
A e;e.切换(a);
A c{a,b};
}

用切换,来​​初化​​​它.这时就保留了原来的​​两个​​​构造的能力,同样,也可以先​​A e​​​,再切换来达到我们​​另一种构造​​的目的!