问题 单项选择题

有如下程序:
#include<iostream>
#include<string>
using namespace std;
class Person
public:
Person(string n):name(n)cout<<’P’;
pnvate:
string name;
;
class Date
public:
Date(int y=2012,int m=12,int d=21):year(y),month(m),day(d)cout<<’D’;
private:
int year,month,day;
;
class Student:public Person
public:
Student(string n,int y,int m,int d,char c):birthday(y,m,d),sex(c),Person(n)cout<<’S’;
private:
Date birthday;
char sex;
;
int main()
Student stul("Zhang",1990,10,1,’F’);
return 0;

运行时的输出结果是______。

A.S
B.PS
C.DPS
D.PDS

答案

参考答案:D

解析: 本题考查派生类的构造函数,派生类的构造函数初始化时按照参数列表初始化顺序,所以先初始化Person(n),输出P,然后依次输出D和S,答案为D选项。

单项选择题
选择题