- 博客(4)
- 收藏
- 关注
原创 C++对象模式(二)
4.继承中成员变量的开销4.1.没有继承: 没有任何继承关系时,访问成员变量和C语言的情况完全一样:从指向对象的指针,考虑一定的偏移量即可。4.2.单继承: 由于派生类成员与其基类成员之间的偏移量是常数0,所以可以直接利用基类指针和基类成员之间的偏移量关系,如此计算得以简化。4.3.多重继承: 虽然派生类与某个基类之间的偏移量可能不为0,然而,该偏移
2016-06-25 13:40:09
240
原创 C++对象模型(一)
1.单一继承且无虚函数的对象模型1.1 实例:class A{public: int getValue() { return val; } static int getStaValue() { return staVal; }private: static int staVal; int val; char bit1;};class B: publi
2016-06-25 11:05:06
259
原创 C++中重载、重写(覆盖)和隐藏的区别
关于这几个C++概念,各种文献、书籍的介绍多多,绝大多数解释都趋于一致,但个别解释却有误导的嫌疑。下面就这几种概念,利用一些实例来做直观的分析。1.重载(overload):重载是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。示例代码如下:class Base{public: vo
2015-11-02 16:14:16
297
原创 C++继承与派生(一)
继承和派生是同一个概念的不同说法,继承是C++的一种重要的机制,该机制自动为一个类提供来自其他类的操作和数据结构。提高了代码的复用性。1.派生类的声明派生类的产生必须通过类派生列表明确指出它从哪些基类派生而来,声明一个派生类的一般格式:class 派生类名:[继承方式] 基类名1,[继承方式] 基类名2…{派生类新增的数据成员和成员函数};如果不显示继承方式关键字,系统
2015-10-29 19:14:27
231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅