有如下程序: #include #include using namespace std; class Person{ public: Person(string n):name(n){cout

admin2016-08-19  15

问题 有如下程序:
    #include
    #include
    using namespace std;
    class Person{
    public:
    Person(string n):name(n){cout<<’P’;}
    private:
string name;
    };
    class Date{
    public:
    Date(int y=2012,int m=12,int d=21):year(y),month(m),day(a){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

解析 本题考查派生类的构造函数,派生类的构造函数初始化时按照参数列表初始化顺序,所以先初始化Per-一son(n),输出P,然后依次输出D和S,答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/UpNp777K
0

最新回复(0)