view plaincopy to clipboardprint?
struct B {
public:
int bm1;
protected:
int bm2;
private:
int bm3;
static int bsm;
void bf();
static void bsf();
typedef void* bpv;
struct N { };
};
struct B {
public:
int bm1;
protected:
int bm2;
private:
int bm3;
static int bsm;
void bf();
static void bsf();
typedef void* bpv;
struct N { };
};
译者注:B 中,为何 static int bsm 不占用内存空间?因为它是静态成员,该数据存放在程
序的数据段 中,不在类实例中。
2.3
单继承
C++ 提供继承的目的是在不同的类型之间提取共性。比如,科学家对物种进行分类,从而
有种、属、纲等说法。有了这种层次结构,我们才可能将某些具备特定性质的东西归入到最
“
”
合适的分类层次上,如 怀孩子的是哺乳动物 。由于这些属性可以被子类继承,所以,我
“
”
“
”
们只要知道 鲸鱼、人 是哺乳动物,就可以方便地指出 鲸鱼、人都可以怀孩子 。那些特例,
如鸭嘴兽(生蛋的哺乳动物),则要求我们对缺省的属性或行为进行覆盖。
C++
“
中的继承语法很简单,在子类后加上 :base”就可以了。下面的 D 继承自基类 C
。