问题 单项选择题

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

A) TestClass1::YestClassl (int a,int b):x(a),y(b)
B) TestClass 1 ::TestClass 1 (int a,int b):TestClass(a),y(b)
C ) YestClass 1 ::TestClass 1 (int a,int b):x(a),TestClass 1(b)
D) TestClass 1 ::TestClass 1 (int a,int b):TestClass(a),TestClass 1 (b)

答案

参考答案:B

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

单项选择题
判断题