码迷,mamicode.com
首页 > 编程语言 > 详细

谈谈C++的三大特性之一:封装性 (转载)

时间:2014-05-13 18:20:56      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:style   class   c   color   int   strong   

  • 引言

   对象的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(); 
}

已晚,择日续写

  • 解释说明

 

谈谈C++的三大特性之一:封装性 (转载),布布扣,bubuko.com

谈谈C++的三大特性之一:封装性 (转载)

标签:style   class   c   color   int   strong   

原文地址:http://www.cnblogs.com/leoluoisacoder/p/3724363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!