单项选择题

有如下程序:
#include<iostream>
using namespace std;
class B{
public:
virtual void f(){cout<<"B";}
void g(){cout<<"B";}
};
class D:public B{
public:
void f(){cout<<"D";}
void g(){cout<<"D";)
};
void h(B* p){p->f();p->g();}
int main(){
D obj;
h(&obj);
return 0;
}
运行这个程序的输出结果是______。

A.DD
B.BB
C.BD
D.DB