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

admin2015-07-22  30

问题 有如下程序:
       #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(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 stu1("Zhang",1990,10,1,’F’);
           return 0;
       }
运行时的输出结果是

选项 A、S
B、PS
C、DPS
D、PDS

答案D

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

最新回复(0)