选择题   有如下程序:
    #include<iostream>
    using namespace std;
    class AA{
    public:
    AA(){cout<<'1';}
    };
    class BB:public AA{
    int k;
    public:
    BB():k(0){cout<<'2';}
    BB(int n):k(n){cout<<'3';}
    };
    int main(){
    BB b(4),c;
    return 0;
    }
    运行时的输出结果是______。
 
【正确答案】 A
【答案解析】本题考查构造函数重载,以及派生类构造函数的调用。题中,生成派生类对象b时,先要调用基类AA类构造函数,输出'1',再调用BB类的第2个构造函数,输出'3'。生成派生类对象c时,先要调用基类AA类构造函数,输出'1',再调用BB类的第1个构造函数,输出'2'。故最终输出结果为:1312。