c++面向对象设计(谭浩强)2.5 2.6类的封装性与信息隐蔽
2.5
定义用::(域运算符)
调用用.(成员运算符)
2.6.1
公用成员函数是用户使用类的共用接口。,或者说是类的对外接口。
接口与实现分离。类中被操作的数据是私有的,类的功能的实现细节对用户是隐蔽的。
称为私有实现。
类的共用接口与私有实现的分离形成了信息隐蔽。
软件工程的一个最基本的原则就是将接口与实现分离。
当接口与实现分离时,只要类的接口没有改变,对私有实现的修改不会引起程序
的其他部分的修改。
2.6.2
往往把类的声明放在指定的头文件中,用户如果想用该类,只要把有关的头文件包含
进来即可。
类声明头文件是用户使用类库的共用接口。
为了实现信息隐蔽,对类成员函数的定义一般不和类的声明放在头文件中,而另外放在一个
文件中,包含成员函数定义的文件就是类的实现。
在系统提供的头文件中只包括对成员函数的声明,而不包括成员函数的定义。类声明和函数定义
是分别放在两个文件中的。
一个C++程序是由三个部分组成的:
(1)类声明头文件(后缀为.h或无后缀)
(2)类实现文件(后缀为.cpp)包括类成员函数的定义
(3)类的使用文件(后缀为.cpp),即主文件
由于将头文件student.h放在用户当前目录中,因此在文件名两侧用双撇号“student.h”
在实际工作中,将若干个常用的功能相近的类声明集中在一起,形成类库。
类库有两种:
(1)c++编译系统提供的标准类库
(2)用户根据自己的需要做成的用户类库
类库的组成
(1)类声明头文件
(2)已经过编译的成员函数的定义,他是目标文件
类声明头文件就成为用户使用类库的有效方法和共用接口。
2.6.3
对象 sud
方法 display()
消息 sud.display();
c++面向对象设计(谭浩强)2.5 2.6类的封装性与信息隐蔽相关推荐
- 谭浩强 C++面向对象程序设计 118页第9题 9.商店销售某一商品,商店每天公布统一的折扣(discout)。同时允许销售人员在销售时灵活掌握售价(Price),在此基础上,对一次购10件以上者,还
谭浩强 C++面向对象程序设计 118页第9题 9.商店销售某一商品,商店每天公布统一的折扣(discout).同时允许销售人员在销售时灵活掌握售价(Price),在此基础上,对一次购10件以上者,还 ...
- C++面向对象的程序设计谭浩强 第六章课后题
以往章节 C++面向对象的程序设计谭浩强 第二章课后题 C++面向对象的程序设计谭浩强 第三章课后题 C++面向对象的程序设计谭浩强 第四章课后题 C++面向对象的程序设计谭浩强 第五章课后题 C++ ...
- C++面向对象程序设计(谭浩强)第三章第10~11节学习笔记
目录 3.10 友元 3.10.1友元函数 3.10.2 友元类 3.11 类模板 3.10 友元 3.10.1友元函数 如果在本类以外的其他地方定义了一个函数(这个函数可以说是不属于任何类的非成员函 ...
- 谭浩强《C++程序设计》学习
谭浩强<C++程序设计>学习 zdh1995 2017-10-12 15:54:56 5613 收藏 251 文章标签: c++ 版权 C++ 不要把面向对象和基于过程对立起来,面向对 ...
- 自学c程序设计之路,谭浩强第五版,(一)程序设计与c语言
由于本人提升技能需求,开始自学c语言程序设计,教材为<c程序设计>第五版谭浩强著.该系列为本人的学习笔记,记录的是知识点与例题,学到哪里,更到哪里.也希望能对正在学c程序设计的朋友有帮助. ...
- 谭浩强c 语言程序设计
谭浩强c 语言程序设计 1 C语言概述 1.1 C语言的发展过程 1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1 ...
- 学习谭浩强老师的《C程序设计》,必配《C程序设计伴侣》!
<C程序设计伴侣>作者陈良乔:"更有趣.更容易.更深刻.更实战的<C程序设计伴侣>--<C程序设计>的有力补充和最佳伴侣.在中国,几乎每一个人,第一次接触 ...
- c语言谭浩强ppt课件,编程_C语言学习课件_谭浩强_PPT~1216F.ppt
编程_C语言学习课件_谭浩强_PPT~1216F.ppt ,第一章,C语言概述本章要点,C语言的特点 C程序的结构 在计算机上运行C程序的方法主要内容,1.1 语言出现的历史背景 1.2 程序的特点 ...
- c程序设计语言看第几版,到底该怎样评价谭浩强版《C程序设计》?
原标题:到底该怎样评价谭浩强版<C程序设计>? 我想学过C语言的人都应该对谭浩强版<C程序设计>不陌生,有人对它大加赞赏,也有人对它吐槽颇多.那我们究竟应该怎样看待这本书呢?今 ...
最新文章
- 这份面试手册,因为在B站疯传遭封杀!
- Java super关键字
- .Net Core3.0依赖注入DI
- pdf无法启动因计算机丢失,解决打开 PDF 文件时出现的文档损坏错误
- JSTL (JSP标准标签库)
- IOS --xcode删除Provisioning Profiles文件
- 论文推荐 | 一文了解百度10篇ACL 2019概况和该技术的实际可落地应用
- 62. WWW 服务器
- AI 大规模分布式SGD:瞬间训练完基于ImageNet的ResNet50
- 11-linux基础八-正则表达式
- python 描述性分析_python数据分析:美国巴尔的摩16年公务员工资数据集描述性分析...
- vue+spring boot项目实现PC端微信登录
- linux系统电脑小白可以用吗,linux小白说说用linux的感受
- python selenium模拟点击
- onkeydown基本用法
- Vue路由懒加载(resolve),嵌套路由 3
- 基于华为WAC双机VRRP热备份下旁挂三层组网隧道转发模式解决方案
- 一份优秀的简历该长成什么样
- 使用Xshell实现项目部署
- Insist(HTML+CSS)
热门文章
- 瞬时功率理论(3)_matlab仿真验证
- 微信小程序云开发之订阅消息的推送
- chrome控制台中network看不到请求发送出的url信息解决办法
- PLC和变频器通讯方式
- php在线升级功能,​在线升级三大功能 哪吒V变得更聪明
- 熔断器-Hystrix介绍和使用
- “入微”背后,微信想做的是新时代“超级门户”
- WC2018 乱搞记划雪记
- MSF手机渗透实验(未成功)(CVE-2019-2215 Binder UA)
- 乘法器——Wallace树型乘法器