单项选择题

若有以下程序:
#include <iostream>
using namespace std;
class data

public:
int x;
data (int x)

data: :x=x;

;
class A

private:
data d1;
public:
A(int x) : d1 (x)
void dispa()

cout<<d1, x<<", ";

;
class B: public A

private:
data d2;
public:
B(int x) : A(x-1),d2(x)
void dispb()

cout<<d2.x<<end1;

;
class C : public B

public:
C(int x) : B(x-1)
void disp ()

dispa ( );
dispb ();

;
int main ( )

C obj (5);
obj.disp();
return 0;

程序执行后的输出结果是( )。

A.5,5
B.4,5
C.3,4
D.4,3