没有合适的资源?快使用搜索试试~ 我知道了~
c++开发入门学习介绍
需积分: 5 0 下载量 126 浏览量
2023-08-21
17:46:45
上传
评论
收藏 251KB PPT 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/88238195/0001-8fc8a9e662bc443a41a58842a8a627ef_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
34页
c++开发入门学习介绍
资源推荐
资源详情
资源评论
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/download_crawler_static/88238195/bg1.jpg)
第9章 类域、友元、运算符重载
• 第8章中介绍了C++中面向对象编程的基本概念,
讨论了类的定义、实现以及对象的创建和组织,
特殊数据成员和函数成员的用法等,本章将在前
文介绍的基础上,探讨关于对象的一些深层次内
容。
![](https://csdnimg.cn/release/download_crawler_static/88238195/bg2.jpg)
9.1 类作用域
• 作用域可分为类作用域、类名的作用域以及对象的作用域几部分
内容。
• 在类中定义的成员变量和成员函数的作用域是整个类,这些名称
只有在类中(包含类的定义部分和类外函数实现部分)是可见的
,在类外是不可见的,因此,可以在不同类中使用相同的成员名
。另外,类作用域意味着不能从外部直接访问类的任何成员,即
使该成员的访问权限是public,也要通过对象名来调用,对于
static成员,要指定类名来调用。
• 如果发生“屏蔽”现象,类成员的可见域将小于作用域,但此时
可借助this指针或“类名::”形式指明所访问的是类成员,这有
些类似于使用“::”访问全局变量。来看一段示例代码9-1
![](https://csdnimg.cn/release/download_crawler_static/88238195/bg3.jpg)
9.2 类定义的作用域与可见域
• 和函数一样,类的定义没有生存期的概念,但类定义有作用域和可见域。
• 使用类名创建对象时,首要的前提是类名可见,类名是否可见取决于类定义的可见域
,该可见域同样包含在其作用域中,类本身可被定义在3种作用域内,这也是类定义
的作用域:
• (1)全局作用域
• 在函数和其他类定义的外部定义的类称为全局类,绝大多数的C++类是定义在该作用
域中,我们在前面定义的所有类都是在全局作用域中,全局类具有全局作用域。
• (2)类作用域(类中类、嵌套类)
• 一个类可以定义在另一类的定义中,这是所谓嵌套类,举例来说,如果类A定义在类B
中,如果A的访问权限是public,则A的作用域可认为和B的作用域相同,不同之处在
于必须使用B::A的形式访问A的类名。当然,如果A的访问权限是private,则只能在B
类内部使用创建A类的对象,无法在B类外部创建A类的对象。
• (3)块作用域
• 类的定义在代码块中,这是所谓局部类,该类完全被块包含,其作用域仅仅限于定义
所在块,不能在块外使用类名声明该类的对象。包括普通代码块和函数代码块两种情
况。
• (4)类名也存在覆盖
• 和普通变量的覆盖原则一样,类名也存在“屏蔽”和“覆盖”,不过,依旧可使用作
用域声明符“::”指定具体使用的类名,如“::类名”访问的是全局类,使用“外部
类::嵌套类”访问嵌套类。
![](https://csdnimg.cn/release/download_crawler_static/88238195/bg4.jpg)
9.3 对象的生存期、作用域和可见域
• 类名无生存期,只有作用域和可见域。
• 对象有生存期,对象的生存期也是对象中所有非
静态成员变量的生存期,这些成员变量都随着对
象的创建而创建,随着对象的撤销而撤销。
• 对象的生存期、作用域和可见域取决于对象的创
建位置,同样有全局、局部、类内之分,和前面
关于普通变量的介绍并无区别,这里便不在赘述
。
• 关于对象创建有几点问题需要强调。
![](https://csdnimg.cn/release/download_crawler_static/88238195/bg5.jpg)
9.3.1 先定义,后实例化
• 类的定义一定要在类对象声明之前,因为编译器要知道需要为对象分配多
大的内存空间,仅仅对类进行声明是不够的,如:
class B; //声明
B objectB; /创建B类的对象。错误
class B
{
……
}; //B类定义
• 但是,如果不创建B类的对象,而仅仅是声明一个指向类型B对象的指针(
或引用),是可行的。如:
class B; //声明
B* pB=NULL; //创建B类的指针。正确
B* pC=new B; //创建B类的对象。错误
class B
{
……
}; //B类定义
• 见备注代码
剩余33页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/b6566e61a01b4e6b87fd62a08916d5f0_tgh5330992.jpg!1)
TechEmbedded
- 粉丝: 1591
- 资源: 106
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- elasticsearch数据库下载、配置、使用案例
- springboot的概要介绍与分析
- C语言的概要介绍与分析
- 第一个较大的Android项目,基于Android平台的图书管理系统(Android studio).zip
- Cisco Packet Tracer 6.2 for Windows Instructor Version
- 使⽤pyIAST计算⽓体吸附选择性
- tmp_b056727e59b8123365486983f32baa9732607ec3c6137b12.pdf
- C代码实现文件的拆分和合并,本质上就是文件的读写操作.zip
- TVMP3player.apk.1
- 出马出马出马出马出马出马出马
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)