问题 单项选择题

有如下类说明: class TestClass{ int x; public: TestClass(int n){x=n;} }; class TestClass1:public TestClass{ int y; public: TestClass1(int a,int b); }; 在构造函数TestClass1的下列定义中,正确的是( )。

A.TestClass1::TestClass1 (int a,int b):x(a),y(b){}

B.TestClass1::TestClass1 (int a,int b):TestClass(a),y(b){}

C.TestClass1::TestClass1 (int a,int b):x(a),TestClass1(b){}

D.TestClass1::TestClass1 (int a,int b):TestClass(a),TestClass1(b){}

答案

参考答案:B

解析: 题目中程序TestClass为基类,TestClass1为派生类,派生类构造函数的一般形式为:派生类构造函数名(总参数类表):基类构造函数名(参数列表){派生类中新增数据成员初始化语句}。派生类TestClass1的基类函数名为TestClass,总参数为int a,int b,所以选择B)。

实验题
单项选择题