C++构造函数不够用

构 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,再切换来达到我们另一种构造的目的!

posted @ 2022-06-19 22:17  zjh6  阅读(19)  评论(0)    收藏  举报  来源