有如下程序: #inc1ude <iostream> using namespace std; c1ass A{ public: A(int i=0):rl(i){} void print(){cout<<’

admin2020-04-07  32

问题 有如下程序:
    #inc1ude <iostream>
    using namespace std;
    c1ass A{
    public:
    A(int i=0):rl(i){}
    void print(){cout<<’E’<<rl<<’—’;)
    void print()const {cout<<’Ck<rl*rl<<’—’;}
    void print(int x){cout<"pk<rl*rl*rl<<’—’;}
    private:
    int r1,
    };
    int main(){
    A a1;
    const A a2(4);
    al.print(2);
    a2.print();
    returnO;
    }
    运行时的输出结果是(    )。

选项 A、P8—E4
B、P8—C16—
C、P0—E4—
D、P0—C16—

答案D

解析 在主函数中创建al对象时,调用类A的默认构造函数,其数据成员r1的值等于O。当执行al.print(2)语句时,调用带参数的print成员函数,所以输出结果为p0—,对象a2为常成员,所以其成员变量r1的值等于4,因为常对象只能调用常成员函数,所以当执行语句a2.print()语句时,输出结果为C14—。
转载请注明原文地址:https://kaotiyun.com/show/QV8p777K
0

最新回复(0)