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

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

3天内不再提示

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

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

类的作用域:

局部作用域

全局作用域

类作用域

名字空间作用域

(1) 在类体外定义成员,需要使用 :: 作用域解析符指明成员属于哪个类域。

(2) 在类的作用域外,只能够通过对象或指针借助成员访问操作符。和-》来访问类成员,跟在访问操作符后面的名字必须在相关联类的作用域中。

(3)成员变量在类中具有全局作用域。

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

举一个例子我们来体会一下类的实例化的过程:

类–》实例化–》对象

图纸–》建造–》别墅

类是抽象的,只是限定了类中有哪些成员,定义了类并没有分配实际的内存来存储它。

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

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

类对象模型:

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

类中的成员和对象在类中布局格式:

说明:

(1)可以用sizeof来求一个非空类的大小;

(2)空类的大小为一个字节,但是如果该空类变成非空类,例如类中有一个int,则该类的大小计算时,不在计算原来的1。

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

    关注

    123

    文章

    7262

    浏览量

    141075
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72892
  • 作用域
    +关注

    关注

    0

    文章

    6

    浏览量

    6078
收藏 人收藏

    评论

    相关推荐

    Visual C++ 6.0开发与实例 pdf下载

    一个自动接口16.1.2 注册服务器16.1.3 为范例服务器编写支持代码16.1.4 添加方法16.1.5 给服务器添加属性16.2 理解双接口服务器16.3 用C++进行服务器实例
    发表于 11-27 23:34

    C/ C++/ Java 程序设计经典教程》

    ~[size=14.44444465637207px]数百个精巧的实例、丰富的测试练习、贴切的提示信息,融作者多年经验之精华,阐述6个当今最流行的编程范例:  ·过程编程(C语言)  ·
    发表于 11-13 11:22

    c++中冒号(:)和双冒号(::)的用法

    ()——————————————————————————————————————VC中如下::是C++里的“作用分解运算符”。比如声明了一个A,
    发表于 10-18 10:08

    JAVA和C++区别

    Java和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者, 而兼容了C
    发表于 10-10 14:50

    CC++中const的用法比较

    #define一样不占空间,但拥有类型安全检查和作用控制)。因此上述不能编译通过的C代码,在C++中可以顺利地通过。当不需要分配空间时(这依赖于数据类型的复杂度和编译器的智能
    发表于 11-11 10:00

    C++笔记004:C++通俗点说—— C结构体复习

    ` 本帖最后由 tyyhmtyyhm 于 2018-5-12 09:37 编辑 C++通俗点说—— C结构体复习核心:C++就是
    发表于 03-05 12:53

    请问STM32 C++构造函数怎么修改才能实现全局变量的初始呢?

    在STM32F10X项目中使用了C++的特性,使用arm-none-eabi-g++编译,程序可以正常运行。问题: C++定义的全局变量,其的构造函数不被执行,在构造函数中设置的变量值都无效(实际
    发表于 10-10 08:45

    STM32 C++串口

    使用方法:1. 添加cpp文件到c++工程中2.实例一个串口对象SerialPort1serial;3.测试:serial
    发表于 01-30 22:19

    作用作用链知识

    #hello,JS:04作用作用
    发表于 09-10 10:21

    如何把C++的源程序改写成C语言

    的概念和特性,将C++改为C的问题,就转换成如何将类化去的问题。方法有两种:第一种是将C++中的面向对象特征去掉,先全部理解源代码的逻辑,然后改写;第二种是在
    发表于 06-30 10:54

    如何把C++的源程序改写成C语言

    以下情况下的构建速度:1. 作为参数传给函数。(additem(Itema))2. 作为函数返回值。3. 实例时作参数。这三种情况下都是由系统直接调用
    发表于 07-05 14:59

    如何把C++的源程序改写成C语言

    中的的概念和特性,将C++改为C的问题,就转换成如何将类化去的问题。方法有两种:第一种是将C++中的面向对象特征去掉,先全部理解源代码的逻辑,然后改写;第二种是在
    发表于 07-07 09:31

    如何把C++的源程序改写成C语言

    的概念和特性,将C++改为C的问题,就转换成如何将类化去的问题。方法有两种:第一种是将C++中的面向对象特征去掉,先全部理解源代码的逻辑,然后改写;第二种是在
    发表于 11-17 10:16

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

    、抽象C++是一种天然支持面向对象编程的语言,在C语言的基础上,C++不仅提供了class关键字和与对象的概念,使开发者可以清晰方便的
    发表于 02-11 06:05

    介绍一些与变量相关的存储属性与作用

    目录前言一、存储&作用&生命周期&链接属性的概念解析二、linux下C程序 的内存映像三、存储相关的关键字四、
    发表于 02-14 07:00