• 引言

   对象的C++语言与以往的模块化程序语言的不同点在于:数据与操作数据的函数连接起来(即:封装性),结构紧凑,数据安全。正是由于这种封装性,大大强化了C++语言的可移植性及数据的安全性。类封装的形式很简单,本文主要谈谈封装的内部结构。

  • 实例问题
  1. 的内部数据存储地址仅表示相对对象首地址的地址偏移量。实例(引自:疯狂学习ING<作者网名>)如下:

#include <iostream.h>

class base { 
// 假定有很多成员 
//..... 
//..... 
};

class derived1: public base

private: 
int d_a1; 
int d_b1; 
//.....// 其它成员 
public: 
void display_a(void) 

cout <<"d_a1 =" << d_a1<<endl; 

};

class derived2: public base 

public: 
int d_a2; 
int d_b2; 
};

void main() 

int base::*p;

//d_a2是derived2的public成员,是可以存储的。 
p = (int base::*)&derived2::d_a2;

derived1 d1; 
//参照p来存取derived1::d_a1私有变量 
d1.*p = 100;

d1.display_a(); 
}

已晚,择日续写

  • 解释说明