• 引言

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

已晚,择日续写

  • 解释说明

转载于:https://www.cnblogs.com/leoluoisacoder/p/3724363.html

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

  1. Java——OOP三大特性之封装性(Encapsulation)通俗详细

    面向对象(Object Oriented Programming)三大特性 1.封装(Encapsulation) 2.继承(Inheritance) 3.多态(Polymorphism) 定义 En ...

  2. php面向对象三大特性,PHP面向对象的三大特性之一封装性

    /*封装性: 面向对象的三大特性之一 *就是把对象的成员(属性,方法)结合成一个独立的相同单位,并尽可能隐藏对象的内部细节 *public protected *private 私有的, 用这个关键字 ...

  3. Java继承_Hachi君浅聊Java三大特性之 封装 继承 多态

    Hello,大家好~我是你们的Hachi君,一个来自某学院的资深java小白.最近利用暑假的时间,修得满腔java语言学习心得.今天小宇宙终于要爆发了,决定在知乎上来一场根本停不下来的Hachi君个人 ...

  4. 面向对象的三大特性:封装、继承、多态

    面向对象的三大特性 面向对象的三大特性:封装.继承.多态 封装 封装,成员变量的封装,保证了数据的安全性.封装的好处:过滤了不合理的值.屏蔽内部的赋值过程.让外界不必关注内部的细节 Set方法 1.  ...

  5. 面向对象三大特性: 封装,继承,多态

    面向对象的三大特性:封装,继承,多态. 一.封装:目的:如何做类,让类更安全. 让一些成员变量不能被外界直接被访问. 方法: 1.将成员变量变为private. 2.在类里面做一个成员方法来间接访问. ...

  6. java面向对象:三大特性:封装,继承,多态

    -----------------------------------面向对象:三大特性:封装,继承,多态 ----------------------------------- 1.什么是类?什么是 ...

  7. Day33 继承的三大特性之 封装与多态

    Day33 面向对象的三大特性之 封装与多态 文章目录 Day33 面向对象的三大特性之 封装与多态 1.派生方法的实操 2.面向对象三大特性之封装 3.property 伪装属性 4.面向对象三大特 ...

  8. 大数据必学Java基础(三十九):面向对象三大特性之一封装(Encapsulation)

    文章目录 面向对象三大特性之一封装(Encapsulation) 一.生活案例 二.Java中封装的理解

  9. java的封装性的优点_18、Java的三大特性之封装

    Java的三大特性 java是一个面向对象的语言,所以java也有面向对象语言的三大特性:继承,封装,多态,任何一个java项目,都会用到这三种特性,所以掌握好这三大特性非常的重要. 封装 我们为什么 ...

最新文章

  1. mybatis中getMapper是怎么通过动态代理得到dao接口的实现类并执行mapper文件sql语句的
  2. OpenCV通过维纳滤镜恢复散焦图像的实例(附完整代码)
  3. python的open函数百度百科,open函数
  4. springboot中使用缓存shiro-ehcache
  5. debian9.8与主机共享问题
  6. PYTHON SOCKET编程简介
  7. Windows2003环境下的一键系统安全
  8. LR11安装报错:此计算机上缺少vc2005_sp1_with_atl_fix_redist,请安装所有缺少的必要组件,然后重新运行此安装。
  9. 测试环境是什么?怎样搭建出好的测试环境?
  10. psd导出jpg太大_为什么 Ps 导出的 jpg 图片哪怕质量降到最低还是体积很大?
  11. 平面设计斜线排版的技巧方法
  12. python 爬取学信网登录页面
  13. Rename_suffix
  14. 记一次无意间的bypass云锁的SQL注入
  15. 企业信息与网络通信安全 团队成员简历-叶俊
  16. 记录在APIO2019前
  17. 孙飞脸色一变,惊讶道:“修者,你也是修者?”
  18. 勘探重力实验matlab,MATLAB在重力图制作中的应用
  19. 什么是DBMS,什么是数据库?
  20. Synaptics蠕虫木马分析

热门文章

  1. 面试官:如何快速定位慢SQL
  2. 将video转成gif工具(免费)
  3. Tensorflow下用自己的数据集对Faster RCNN进行训练和测试(二)1
  4. 爬虫(三)- 寻找周杰伦的歌单,json()
  5. 求助在微信上班的工程师同僚!
  6. android查看程序缓存文件,Android App的文件缓存目录
  7. SDL安全设计工具,一款支持多人协作实施威胁建模的微信小程序
  8. 僵尸毁灭工程服务器耐久修改,僵尸毁灭工程无限负重的修改方法
  9. Charles常用抓包用具安装及使用
  10. OpenLayers使用