首页 > 代码库 > 谈谈C++的三大特性之一:封装性 (转载)
谈谈C++的三大特性之一:封装性 (转载)
- 引言
对象的C++语言与以往的模块化程序语言的不同点在于:数据与操作数据的函数连接起来(即:封装性),结构紧凑,数据安全。正是由于这种封装性,大大强化了C++语言的可移植性及数据的安全性。类封装的形式很简单,本文主要谈谈封装的内部结构。
- 实例问题
- 类的内部数据存储地址仅表示相对对象首地址的地址偏移量。实例(引自:疯狂学习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();
}
已晚,择日续写
- 解释说明
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。