单选题
有如下程序: #include<iostream> using namespace std; class A{ public: A(int i=0):r1(i){} void print(){cout<<'E'<<r1<<'-';} void print()const{cout<<'C'<<r1*r1<<'-';} void print(int x){cout<<'p'<<r1*r1*r1<<'-';} private: int r1; }; mt main(){ A a1; const A a2(4); a1.print(2); a2.print(); return 0; } 运行时的输出结果是( )。
【正确答案】
D
【答案解析】解析:在主函数中创建a1对象时,调用类A的默认构造函数,其数据成员r1的值等于0。当执行a1.print(2)语句时,调用带参数的print成员函数,所以输出结果为p0-对象a2为常成员,所以其成员变量r1的值等于4,因为常对象只能调用常成员函数,所以当执行语句a2.print()语句时,输出结果为C14.。