《c++ primer》读书笔记6

原创 2004年07月15日 14:12:00

笔记范围:2.3<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

早在2.1里作者就留给我们一个问题:要成为c++的一等公民需要那些条件(练习2.2)?个人认为这个问题非常重要。它直接关系到我们对类的设计思想和努力的方向,显然我们的方向该是:尽可能的让我们设计的类成为语言的一等公民,换句话说,在类的设计中,对于运算符的支持要比一般的成员函数更重要,这样做的另一个考虑是为我们以后学习STL提供思维的延续,可见。如果我们只把c++当成oo的语言,是不会这样想的

对于初学者来说,想在本节完全学会很好类的代码实现,几乎是不现实的,在本节的内容里,我们的任务是理解设计思路、了解类的基本结构,学会用伪代码设计一个能满足需求的class,下面是我在本节中所理解的东西,

第一步:明确设计需求,我们可以仔细看一下作者写出的功能表,显然,就功能而言,它并不完善,但能满足一方的需求,这里我们可以感觉一下作者的专业品质:以用户需求为目标,我们的软件常常有这样问题,几百mb的程序,事实上我们真正用到的可能不足百分之一,成本和资源都得到很大的浪费,好像只满足了设计者的虚荣心,

第二步:确定要封装的数据,当然,我们先要明白的是:封装的目的是为了保证对象数据的相对安全,要通分理解封装的涵义,比如:

class a  {

int i

public:

….};

class b {

 a s;

public:

….}

几天前就有人问我这样的问题。,b是否可以操作s中的数据,答案是:yes。但是如果这样问。。s中的数据在b是否可用,答案则是,no,原因在于对于封装的数据而言,只有通过s自身的方法才有权使用。那么b如何操作s的数据呢?这就引出了第三步.

第三步,设计公有接口。个人觉得接口和方法是有区别的,接口包括运算符和方法,当然他们都靠函数完成。但对函数的实现目标有着明显的不同,运算符考虑的是对象之间的关系。而方法考虑的是对象本身属性的操作,对于设计一个数据类型来说显然前者更重要,对于内置的数组来说。我们并没有考虑其本身的东西。但是,谁能说他不算class呢?不过不是我们设计的罢了,

接下来,谈谈一些习惯问题,可能先看国内教材的人都会发现。在本书中public写在private之前。看起来好像没有多大的区别,其实我们应该发现,如果私有成员写前面关键字private可以不写,这不利于代码的可读性,我们要时刻为自己以后的合作提供良好习惯和代码风格。这样也该是程序员的基本素质之一吧?

 

C++ primer 读书笔记(6)

switch语句 相对于for if while语句,switch语句
  • u013457107
  • u013457107
  • 2014年05月14日 20:08
  • 315

读书笔记-C++PrimerPlus-CPP流的总结

首先推荐一个C++参考文档组织的比较好的网站http://www.cplusplus.com/,最近见得好像比较到自己组织的比较好。本文也是根据这个网上的资料总结得到的。流的简介iostream是C+...
  • u011518120
  • u011518120
  • 2016年06月20日 02:33
  • 290

C++ Primer Plus第六版 第八章 编程练习答案

23333 时隔一年我来填坑了 CPP继续往后读然后把题目写了_(:з」∠)_ 写到哪更到哪 不一次性更完了...
  • zhaoshu01234
  • zhaoshu01234
  • 2015年08月06日 00:01
  • 2030

C++ PRIMER PLUS (第六版) 中文版 第七章编程练习答案

1.  #include void main() { using namespace std; double thpjs(int x, int y); int x, y; while (...
  • u013929023
  • u013929023
  • 2015年04月09日 22:28
  • 545

《C++ Primer》真的适合入门吗?

客气地说,《C++ Primer》不适合大学C++基础课堂教学,也不适合初学者入门。 不客气地说,恐怕你们的大学老师也搞不定《C++ Primer》,更别说拿这本书教学生了。 更不客气地说...
  • qq_23291783
  • qq_23291783
  • 2015年12月22日 16:32
  • 949

如何学习C++ primer 第五版

作者:dawnmist 链接:http://www.zhihu.com/question/32087709/answer/54936403 来源:知乎 著作权归作者所有,转载请联系作者获得授权。...
  • w3071206219
  • w3071206219
  • 2016年08月22日 22:03
  • 847

C++Primer第五版——习题答案+详解(完整版)

C++Primer第五版——习题答案详解       看的也比较快,但是有很多东西确实用不上,所以很多都没有深入的探讨,但是知识点覆盖的很全面,每一道题涉及的知识点我都写上简单的解释了。      ...
  • misayaaaaa
  • misayaaaaa
  • 2016年12月21日 16:11
  • 42930

《C++ Primer》随附代码的使用方法

(Source: C++ Primer, Fifth Edition Visual Studio 2012 Code Distribution README ) Conditional Compil...
  • guohuaien
  • guohuaien
  • 2017年02月17日 13:49
  • 540

C++ Primer第四版(中文版) pdf下载

编辑推荐 《C++ Primer中文版(第4版)》对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使《C++ Primer中文版(第4版)》成为C++初学者的最佳指南;对于...
  • u012550652
  • u012550652
  • 2013年10月23日 23:08
  • 3275

如何利用《C++ Primer》学习C++?

《C++ Primer》作为久负盛名的C++经典教程,丰富的教学辅助内容、精心组织的编程示范,无论是初学者入门,或是中、高级程序员提升,都是不容置疑的首选。一本好书只有读过才有价值,然而《C++ Pr...
  • shiyanlou_chenshi
  • shiyanlou_chenshi
  • 2015年08月14日 16:00
  • 1221
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《c++ primer》读书笔记6
举报原因:
原因补充:

(最多只允许输入30个字)