以下程序的执行结果是( )。 #include class TestClass2 { public: TestClass2(){); TestClass2(int i,int j); void

admin2019-03-05  23

问题 以下程序的执行结果是(    )。
    #include
    class TestClass2
    {
    public:
    TestClass2(){);
    TestClass2(int i,int j);
    void printb();
    private:
    int a,b;
    };
    class TestClass1
    {
    public:
    TestClass1(){}
    TestClass1(int i,int j);
    void printa();
    pfivate:
    TestClass2 c;
    };
    TestClass1::TestClass1(int i,intj):c(i,j)
    {}
    void TestClass 1::printa()
    {c.printb();}
    TestClass2::TestClass2(int i,int j)
    {a=i;
    b=j;
    }
    void TestClass2::printb()
    {cout<<"a="<    }
    void main()
    {TestClass 1 m(7,9);
    m.printa();
    }

选项 A、a=7,b=8   
B、a=8,b=7
C、a=7,b=9
D、a=8,b=9

答案C

解析 由主函数main入手,定义了TestClass1的对象m,其中参数为7和9。“m.printa();”中TestClass1中printa为“c.printb(),其中c为TestClass2的对象,所以printb为TestClass2中的“void TestClass2::printb()”,即输出为“a=7,b=9”。
转载请注明原文地址:https://jikaoti.com/ti/SCt0FFFM
0

最新回复(0)