0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C++三大特性:封装的概念原理

如意 来源:CSDN 作者:cherrydreamsover 2020-06-29 14:28 次阅读

我们都知道C++有三大特性:封装、继承、多态,之前我总结过继承的知识点,现在来总结一下封装的相关知识!

一、什么是封装?

封装:隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互,将数据和操作数据的方法进行有机结合。

说明:

函数是封装的一种形式:函数所执行的细节行为被封装在函数本身这个更大的实体中,被封装的元素隐藏了它们的实现细节–可以调用一个函数但是不能够访问函数所执行的语句。

访问限定符

(1)public(共有)

(2)protected(保护)

(3)private(私有)

说明:

(1)public成员可以在类外直接访问。

(2)protected和private成员在类外(在此将这两种限定符都可以看成是私有的,在继承出区别)不能够访问。

(3)它们的作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止。

(4)class的默认访问权限是private,而struct为public型(因为struct要兼容C)。C++常用的是class

(5)类外:即脱离了类的作用域或者说访问时不在类的成员函数中。

因此C++的封装和函数有一些不同,它能够更加灵活的满足不同对象调用的需求,因此封装相当于是class+访问限定符

注意:访问限定符本质上是给编译器使用的,数据放在内存中是没有任何限制的

来段代码看看:

C++三大特性:封装的概念原理

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 封装
    +关注

    关注

    126

    文章

    7881

    浏览量

    142902
  • C++
    C++
    +关注

    关注

    22

    文章

    2108

    浏览量

    73624
收藏 人收藏

    评论

    相关推荐

    c++之STL算法()

    c++之STL算法()
    的头像 发表于 07-18 15:00 1279次阅读
    <b class='flag-5'>c++</b>之STL算法(<b class='flag-5'>三</b>)

    STM32 C++代码封装初探相关资料推荐

    一、STM32与面向对象编程上一章中提到了,C++的核心之一就在于面向对象思想。相比C语言常用的面向过程编程,面向对象编程的优势在于继承、封装、多态的特性,利用这种思想更有助于我们的程
    发表于 02-11 06:05

    华为内部员工C++中级培训教材

    华为内部员工C++中级培训教材在C++封装概念是把一个对象的外观接口同实际工作方式(实现)分离开来,但是C++
    发表于 10-16 14:11 0次下载
    华为内部员工<b class='flag-5'>C++</b>中级培训教材

    C++C/C++程序设计教程_C/C++概述

    C++基础知识,简要介绍了C++的一些简单知识,概念,函数
    发表于 12-25 10:15 0次下载

    运用Visual C++ 5.0或6.0的高级编程技巧,内容涉及MFC程序设计的最新概念

    运用Visual C++ 5.0或6.0的高级编程技巧,内容涉及MFC程序设计的最新概念
    发表于 09-04 10:30 5次下载
    运用Visual <b class='flag-5'>C++</b> 5.0或6.0的高级编程技巧,内容涉及MFC程序设计的最新<b class='flag-5'>概念</b>

    基于STM32F4的 C++封装(完整代码)

    一直有一个想法就是用 C++ 去做 STM32 的开发,但是很少有这方面的资料。经过一段时间的思考,决定在官方的 ll 库的基础上做一层 C++ 的简单封装。因为官方的库基本实现了全系列的 MCU 都是相同的 API 接口,所以
    发表于 04-26 11:03 9671次阅读
    基于STM32F4的 <b class='flag-5'>C++</b><b class='flag-5'>封装</b>(完整代码)

    Visual C++教程之C++的基础知识介绍

    本文档的主要内容详细介绍的是Visual C++教程之C++的基础知识介绍主要内容包括了:1 类和对象,2 类的成员及特性,3 继承和派生类
    发表于 02-15 15:59 9次下载
    Visual <b class='flag-5'>C++</b>教程之<b class='flag-5'>C++</b>的基础知识介绍

    C++:重载、重定义和重写的概念和区分

    C++中我们经常会遇见“重载、重定义、重写”的概念概念名字很像,很容易混淆,今天我们对者进行一个区分。
    的头像 发表于 06-29 11:33 5619次阅读

    详谈C++特性:多态的概念分类和实现原理

    多态意思既是同一个事物的多种形态,用我们C++的专业词语来说就是:一个借口、多种实现方式。
    的头像 发表于 06-29 12:54 2072次阅读
    详谈<b class='flag-5'>C++</b><b class='flag-5'>特性</b>:多态的<b class='flag-5'>概念</b>分类和实现原理

    C++封装:类的作用域和实例化

    C++封装:类的作用域和实例化
    的头像 发表于 06-29 14:28 3560次阅读
    <b class='flag-5'>C++</b><b class='flag-5'>封装</b>:类的作用域和实例化

    C++封装:this指针

    C++封装:this指针
    的头像 发表于 06-29 14:37 3470次阅读
    <b class='flag-5'>C++</b><b class='flag-5'>封装</b>:this指针

    STM32 C++编程系列二:STM32 C++代码封装初探

    一、STM32与面向对象编程上一章中提到了,C++的核心之一就在于面向对象思想。相比C语言常用的面向过程编程,面向对象编程的优势在于继承、封装、多态的特性,利用这种思想更有助于我们的程
    发表于 12-08 11:06 13次下载
    STM32 <b class='flag-5'>C++</b>编程系列二:STM32 <b class='flag-5'>C++</b>代码<b class='flag-5'>封装</b>初探

    C++入门之数组的概念

    上一篇文章我们介绍了C++中的迭代器,这篇文章将会介绍C++中数组的概念,数组是一种和vector类似的数据结构,但是其在性能和灵活性上的权衡中选择了性能而放弃了一定的灵活性,其与vector相同
    的头像 发表于 03-17 14:14 689次阅读

    利用C++提供的队列封装一个消息队列

    最近的C++项目中,需要用到消息队列,但是C++中又没有原生的消息队列,就在网上找了一下相关资料,利用C++提供的队列,自己封装一个消息队列,以后的项目也可以复用。
    的头像 发表于 05-20 15:16 1865次阅读
    利用<b class='flag-5'>C++</b>提供的队列<b class='flag-5'>封装</b>一个消息队列

    c++入门后如何进阶

    C++11 是下一个 C++ 标准,但我们通常称之为现代 C++。现代 C++ 也包括了 C++14 和
    发表于 07-21 08:56 342次阅读
    <b class='flag-5'>c++</b>入门后如何进阶