第10、11周-程序阅读补充(1)

来源:互联网 发布:零基础学java pdf 编辑:程序博客网 时间:2024/05/18 00:51

问题及代码:

/*Copyright (c)2016,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:main.cpp*作    者:王艺霖*完成日期:2016年5月17日*版 本 号:v1.0*问题描述:阅读程序*输入描述:*输出描述:*/#include<iostream>using namespace std;class G{public:    static int m;    G( ){ //构造函数        m++;        cout<<"G begins\n";    }    ~G( ) {        cout<<"G ends\n";        m--;    }};int G::m=0;class D:public G{public:    D( ){ //构造函数        m++;        cout<<"D begins\n";    }    ~D( ){        cout<<"D ends\n" ;        m-- ;    }};int main( ){    D objg;    cout<<G::m<<endl;    return 0;}



运行结果:


知识点总结:

派生类构造函数的执行顺序是先执行所有基类的构造函数(顺序按照定义派生类时指定的各基类顺序),再执行派生类的构造函数,析构函数执行顺序,与构造函数完全相反(因为,数据是按栈存储的)。


0 0