摘要: 首先,上代码(还是代码引发的血案) B b(3); b.think(); 输出的结果: A B 为什么会出现这种情况呢? 因为子类并不继承父类的构造函数和析构函数!!! 相反会继承成员函数和虚函数, 在执行子类的构造函数时,会调用父类的构造函数,记住,是调用,也就是A::A(),这样一来,是进入了A 阅读全文
posted @ 2017-02-26 15:48 LT.C# 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 1.类的内存分布 空类为了占位,空间占一个字节 成员函数,静态函数,静态变量并不占内存(不和类放在一起) 所有的虚函数也并不和类放在一起,而是将所有的虚函数构造成一个虚函数表,用一个指针指向这个虚函数表,类仅仅存储这个指针,一个指针在32位的机器上占四个字节 所有的非静态成员变量占内存 因此,类的内 阅读全文
posted @ 2017-02-26 14:58 LT.C# 阅读(1142) 评论(0) 推荐(0) 编辑
摘要: 以数组名作为形参时,实际上传的就是指针,形参并不能将实参的指针转换为数组 阅读全文
posted @ 2017-02-26 11:18 LT.C# 阅读(326) 评论(0) 推荐(0) 编辑