第十一周阅读程序(补充)----(1)
2016-05-10 16:25
155 查看
问题及代码:
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:zwj.cpp
*作 者:张伟晶
*完成日期:2016年5月10日
*版 本 号: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;
}
运行结果:
过程分析:
//G是基类,D是G的派生类,公有继承。D objg ——>class D ——>class G ——>输出G begins,m=1
//——>class D——>输出D begins,m=2--->输出m的数值2——>逆序执行析构函数,分别输出D ends ,G ends .
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:zwj.cpp
*作 者:张伟晶
*完成日期:2016年5月10日
*版 本 号: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;
}
运行结果:
过程分析:
//G是基类,D是G的派生类,公有继承。D objg ——>class D ——>class G ——>输出G begins,m=1
//——>class D——>输出D begins,m=2--->输出m的数值2——>逆序执行析构函数,分别输出D ends ,G ends .
相关文章推荐
- 点到平面的距离公式
- 一个用于大规模数据科学的API——DataFrame
- UITableView的两种重用Cell方法的区别
- HDU 百度之星(测试赛)1003 - IP聚合
- 从服务器端获取的图片放在客户端的控件上如何等比例裁切且不失真
- .net更换目标框架时,出现引用错误问题
- 分页方法,类(以后直接调用)
- 一道小博弈
- 注解
- 类的声明、定义、初始化
- 史上最详细的Android Studio系列教程二--基本设置与运行
- TILERA--Makefile实例
- Android 软键盘自动弹出和关闭
- MySql 里的IFNULL、NULLIF和ISNULL用法区别
- split老是得不到想要的数组
- windwos与linux基于inotify实现文件实时同步实战记录
- object-c中多态
- JVM学习笔记---内存管理和垃圾回收
- 安卓框架 Demo (更新中 )
- iOS 侧滑返回手势