2 yy15642766973 yy15642766973 于 2016.04.15 21:04 提问

不明白以下结果是怎么出来的,请求分析过程。康桑阿米达

#include
using namespace std;
class Base
{
friend void fun();
public:
Base(int data = 0)
:b(data)
{
cout << "Base()" << endl;
}
~Base()
{
cout << "~Base()" << endl;
}
static void show()
{
cout << "static show()" << endl;
}
void add()
{
a++;
}
static int a;
private:
int b;
};
int Base::a = 0;
class Derive :public Base
{
public:
Derive(int data = 0)
:d(data)
{
cout << "Derive()" << endl;
}
~Derive()
{
cout << "~Derive()" << endl;
}
void Add()
{
a++;
}
private:
int d;
};

int main()
{
Derive d;
d.show();
d.a = 2;
d.add();
d.Add();
cout << d.a << endl;
return 0;
}

Base()
Derive()
static show()
4
~Derive()
~Base()

3个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.15 21:45
已采纳

前两个输出应该没问题吧(基类的构造函数函数优先被调用,和析构正好相反)
子类不能从父类继承的有:
1. 构造函数
2. 拷贝构造函数
3. 析构函数
子类和父类是共享一个静态成员变量的(不是继承,因为静态成员是没有this指针的,是继承不过来的)
所以打印出4应该能理解了吧

yy15642766973
yy15642766973 嗯嗯 明白了
2 年多之前 回复
YXTS122
YXTS122   2016.04.15 21:30

前两个和后两个的输出容易理解,构造函数和析构函数的执行顺序相反

YXTS122
YXTS122   2016.04.15 21:37

d.add()和d.Add()里各有个a++,a=2执行了两次a++,a就变成了4,没什么好讲的,你还有不懂的说出来

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
康力电梯故障代码.
.新时达系统 康力电梯故障代码.
面试题:以下程序的输出结果是什么?
package com.njue.mis; import java.util.*; public class Test { public static void main(String[] args){ Queue queue = new PriorityQueue(10, new Comparator(){ public int compare(Integer i,Integer j
结果是怎么运算出来的呀?
public class Test1 {     public static void main(String args[]) {     System.out.println(010|4);     System.out.println(030|4);     System.out.println(7|4);     } } 运行结果: 12 28 7
“阿凡达”三维立体拍摄制作技术的解密
 来源:第三维度 原创内容(http://www.d3dweb.com)  作者:王逍转载请注明出处并保持文章的完整性          谁都知道,詹姆斯·卡梅隆,这位电影大师12年磨一剑的《阿凡达》将是一部“划时代”的作品,从之前的各种报道我们都可以看出詹姆斯·卡梅隆为这部巨作费尽了全部心血。在《阿凡达》预告片的制作上大师也是力求完美,有关消息报道,《阿凡达》其实已经制作了8款预告片
六世达赖(1683--1706)仓央嘉措,大家都记得他流传很广的《见与不见》,这位西藏历史上生平迷离、极具才华、又最受争议的喇嘛写出了他的心声一   谁,执我之手,敛我半世癫狂;   谁,吻我之眸,
一   谁,执我之手,敛我半世癫狂;   谁,吻我之眸,遮我半世流离;   谁,抚我之面,慰我半世哀伤;   谁,携我之心,融我半世冰霜;   谁,扶我之肩,驱我一世沉寂。   谁,唤我之心,掩我一生凌轹。   谁,弃我而去,留我一世独殇;   谁,可明我意,使我此生无憾;   谁,可助我臂,纵横万载无双;   谁,可倾我心,寸土恰似虚弥;   谁,可葬吾怆,笑天地虚妄,吾心
PM3破解辅助计算器
DumpTxt互转 GBK码查询GBKCode winhex可比较两个文件 电梯卡卡达6改卡方法和电梯系统区分方法 对比软件 康拓系统分析 破解辅助计算工具 日期转换 十六进制编辑器(010 Editor)6.0中文版 相关下载链接:http://download.csdn.net/download/bishaowei/10153542?utm_source=blogseo
Dangal 下载资源 阿米尔汗
http://pan.baidu.com/share/link?shareid=729112581&uk=3845297279
http请求过程分析
http请求过程   此处以访问百度首页为例,当我们在浏览器地址栏中输入http://www.baidu.com并回车后,我们马上能看到百度的首页,虽然这个过程很短,但这背后究竟发生了什么呢? 现简要地理一下这背后的执行流程: 1.域名解析 2.客户端浏览器发送http请求 3.服务器响应http请求,并向客户端浏览器返回html代码 4.客户端浏览器得到html代码并进行解析,同时请求html
ViDi 提供首款开箱即用的工业图像分析专用的深度学习型软件
ViDi 提供首款开箱即用的工业图像分析专用的深度学习型软件
数据预处理:AMiner to JSON
1、处理需求  主要处理的数据来自己Extraction and Mining of Academic Social Networks官网链接的数据集,本文以“AMiner-Paper.txt”为例。原始数据如下:  处理之后的结果如下:2、处理代码如下#AMiner数据转换成JSON数据格式#待处理和处理后数据的文件路径 inputPath = u"D:/DataSets/AMiner/AMine