C++编程思想读书笔记之 第三章 隐藏实现

来源:互联网 发布:esa white 知乎 编辑:程序博客网 时间:2024/05/18 03:56

需要控制对结构成员的存取有两个理由:

一是让用户避开一些他们不需要使用的工具,这些工具对数据类型内部的处理来说是必须的,但对用户特定问题的接口来说却不是必须的。

二是设计者可以改变s t r u c t的内部实现,而不必担心对用户程序员产生影响。


存取控制通常是指实现细节的隐藏。

首先是决定哪些用户可以用,哪些用户不能用。

然后,就是将具体实现与接口分离开来。


C + +不是完全的面向对象语言,它只是一个混合产品。f r i e n d关键字就是用来解决部分的突发问题。它也说明了这种语言是不纯的。毕竟C + +语言的设计是为了实用,而不是追求理想的抽象。


句柄类能解决重复编译和实现部分的隐藏。

有关实现的任何东西都消失了,只剩一个单一的指针“s m i l e”。该指针指向一个结构,该结构的定义与其所有的成员函数的定义一样出现在实现文件中。这样,只要接口部分不改变,头文件就不需变动。而实现部分可以按需要任意更动,完成后只要对实现文件进行重新编译,然后再连接到项目中。


vs2010编译但不连接命令 cl  handle.cpp /c

连接命令   link handle.obj  usehandle.obj

原创粉丝点击