谈谈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();
}
已晚,择日续写
- 解释说明
转载于:https://www.cnblogs.com/leoluoisacoder/p/3724363.html
谈谈C++的三大特性之一:封装性 (转载)相关推荐
- Java——OOP三大特性之封装性(Encapsulation)通俗详细
面向对象(Object Oriented Programming)三大特性 1.封装(Encapsulation) 2.继承(Inheritance) 3.多态(Polymorphism) 定义 En ...
- php面向对象三大特性,PHP面向对象的三大特性之一封装性
/*封装性: 面向对象的三大特性之一 *就是把对象的成员(属性,方法)结合成一个独立的相同单位,并尽可能隐藏对象的内部细节 *public protected *private 私有的, 用这个关键字 ...
- Java继承_Hachi君浅聊Java三大特性之 封装 继承 多态
Hello,大家好~我是你们的Hachi君,一个来自某学院的资深java小白.最近利用暑假的时间,修得满腔java语言学习心得.今天小宇宙终于要爆发了,决定在知乎上来一场根本停不下来的Hachi君个人 ...
- 面向对象的三大特性:封装、继承、多态
面向对象的三大特性 面向对象的三大特性:封装.继承.多态 封装 封装,成员变量的封装,保证了数据的安全性.封装的好处:过滤了不合理的值.屏蔽内部的赋值过程.让外界不必关注内部的细节 Set方法 1. ...
- 面向对象三大特性: 封装,继承,多态
面向对象的三大特性:封装,继承,多态. 一.封装:目的:如何做类,让类更安全. 让一些成员变量不能被外界直接被访问. 方法: 1.将成员变量变为private. 2.在类里面做一个成员方法来间接访问. ...
- java面向对象:三大特性:封装,继承,多态
-----------------------------------面向对象:三大特性:封装,继承,多态 ----------------------------------- 1.什么是类?什么是 ...
- Day33 继承的三大特性之 封装与多态
Day33 面向对象的三大特性之 封装与多态 文章目录 Day33 面向对象的三大特性之 封装与多态 1.派生方法的实操 2.面向对象三大特性之封装 3.property 伪装属性 4.面向对象三大特 ...
- 大数据必学Java基础(三十九):面向对象三大特性之一封装(Encapsulation)
文章目录 面向对象三大特性之一封装(Encapsulation) 一.生活案例 二.Java中封装的理解
- java的封装性的优点_18、Java的三大特性之封装
Java的三大特性 java是一个面向对象的语言,所以java也有面向对象语言的三大特性:继承,封装,多态,任何一个java项目,都会用到这三种特性,所以掌握好这三大特性非常的重要. 封装 我们为什么 ...
最新文章
- mybatis中getMapper是怎么通过动态代理得到dao接口的实现类并执行mapper文件sql语句的
- OpenCV通过维纳滤镜恢复散焦图像的实例(附完整代码)
- python的open函数百度百科,open函数
- springboot中使用缓存shiro-ehcache
- debian9.8与主机共享问题
- PYTHON SOCKET编程简介
- Windows2003环境下的一键系统安全
- LR11安装报错:此计算机上缺少vc2005_sp1_with_atl_fix_redist,请安装所有缺少的必要组件,然后重新运行此安装。
- 测试环境是什么?怎样搭建出好的测试环境?
- psd导出jpg太大_为什么 Ps 导出的 jpg 图片哪怕质量降到最低还是体积很大?
- 平面设计斜线排版的技巧方法
- python 爬取学信网登录页面
- Rename_suffix
- 记一次无意间的bypass云锁的SQL注入
- 企业信息与网络通信安全 团队成员简历-叶俊
- 记录在APIO2019前
- 孙飞脸色一变,惊讶道:“修者,你也是修者?”
- 勘探重力实验matlab,MATLAB在重力图制作中的应用
- 什么是DBMS,什么是数据库?
- Synaptics蠕虫木马分析