问题 单项选择题

以下程序的执行结果是( )。
#include<iostream.h>
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();
private:
TestClass2 c;
;
TestClassl::TestClass1(int i,int j):c(i,j)

void TestClass1::printa()

c.printb();

TestClass2::TestClass2(int i,int j)

a=i:
b=j;

void TestClass2::printb()

cout<<"a="<<a<<","<<"b="<<b<<endl;

void main()

TestClass1 m(7,9);
m.prints();

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”。

单项选择题
单项选择题