您的位置:首页 > 其它

阅读程序补充-1

2016-05-09 11:37 267 查看
/*copyright(c)2016.烟台大学计算机学院
* All rights reserved,
* 文件名称:text.Cpp
* 作者:刘涛
* 完成日期:2016年5月9日
* 版本号:vc++6.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;
}
运行结果:
<img src="http://img.blog.csdn.net/20160509113333220?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
分析:
G是基类,D是派生类,在主函数声明一个D类的成员,所以先执行基类的构造函数,再执行派生类的构造函数,m++执行两次,变为2输出。
最后反序输出派生类和基类的析构函数。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: