摘要: 1 //Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> //一个能处理四则运算的程序,实现语言C++,支持嵌套括号,可以处理实数,源码见下面: 2 #include 3 #include 4 #include 5 6 #include 7 using namespace std; 8 const int MAX=1000; 9 10 11 12 class Input 13 { 14 p... 阅读全文
posted @ 2013-08-29 09:32 liyunyu1 阅读(1539) 评论(0) 推荐(0) 编辑
摘要: 1马云:我最遗憾的错误01年,我犯了一个错误,我告诉我的18位共同创业同仁,他们只能做小组经理,而所有的副总裁都得从外面聘请。现在十年过去了,我从外面聘请的人才都走了,而我之前曾怀疑过其能力的人都成了副总或董事。我相信两个信条:态度比能力重要,选择同样也比能力重要!2马云:不能统一人的思想,但可以统一人的目标千万不要相信你能统一人的思想,那是不可能的。 30%的人永远不可能相信你,不要让你的同事为你干活,而让他们为我们的共同目标干活,团结在一个共同的目标下,要比团结在一个人周围容易的多。3马云提醒:细节好的人格局一般都差1.有人觉得我牛,6分钟说服了孙正义,其实是他说服了我。见孙正义之前,我在 阅读全文
posted @ 2013-08-21 13:32 liyunyu1 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 在讨论设计模式的过程中,我们已经说到了许多面向对象范型的原则。这些原则可以总结如下:、 对象是具有明确定义的责任的事物。 对象对自己负责。 封装指的是任何形式的隐藏: 数据隐藏 实现隐藏 类隐藏(在抽象类或接口后) 设计隐藏 实例化隐藏 使用共性和可变性分析抽象出行为和数据中的变化。 针对接口编程 将继承看成一种将变化概念化的方法,而不是创建已有对象的特殊情形。 将变化放入一个类中,并与该类中的其他变化解耦。 力求松耦合。 力求强内聚。 将使用一个对象的代码与创建该对象的代码分离。 在应用“一次且紧... 阅读全文
posted @ 2013-08-07 17:06 liyunyu1 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 结构模式的作用是将已有的功能组合起来,在Bridge模式中,我们通常从抽象和实现开始,然后用Bridge模式将它们组合起来。在Decorator模式中,是希望用梗多附加的功能对原有的功能类进行装饰。他们的作用都是组合功能,所以是结构型的。 阅读全文
posted @ 2013-08-07 11:06 liyunyu1 阅读(132) 评论(0) 推荐(0) 编辑
摘要: (一)首先对智能指针有一些概念性的了解**********本部分内容摘自开源中国社区http://my.oschina.net/u/158589/blog/28994********1.什么是智能指针?智能指针(Smart Pointer),简单来说,就是用起来像指针,但是很聪明,可以自己在适当的时候删除动态分配的对象的指针。2.什么时候使用智能指针?智能指针主要用于生存期控制和阶段控制。比如,在一个类中,如果有指针成员,那么,如果类写的不够小心,就很容易出异常。因为指针指向的动态内存,必须在拷贝构造或者赋值时,复制一份同样大小的内存。否则,容易引起内存泄漏或者对未定义的指针就行删除。3.使用 阅读全文
posted @ 2013-07-29 13:10 liyunyu1 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 概述: 在现在的电视机中,我们使用[后一个]和[前一个]按钮可以很方便的换台,当按下[后一个]按钮时,将切换到下一个预置的频道。想象一下在陌生的城市中的旅店中看电视。当改变频道时,重要的不是几频道,而是节目内容。如果对一个频道的节目不感兴趣,那么可以换下一个频道,而不需要知道它是几频道。 这个其实就是我们迭代器模式的精髓:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。类图和实例:迭代器模式由以下角色组成:1.迭代器角色(Iterator):迭代器角色负责定义访问和遍历元素的接口。2.具体迭代器角色(ConcreteIterator):具体迭代器角色要实现... 阅读全文
posted @ 2013-07-27 19:47 liyunyu1 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 概述: 假设我们开发一个图片处理软件,里面肯定包括很多相关功能,比如说剪切,旋转,滤镜,美化等等,而我们这些功能所要处理的对象是固定的,就是我们所显示的那张图片。但是我们不能把所有的功能罗列到一个tab上,虽然这样处理方便但是不美观。这是我们可以这样子:用一个中介者类负责所有功能的初始化和具体执行,我们需要功能时直接调用中介者类即可。 中介者模式就是定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。类图和实例Mediator类:抽象中介者,定义了同事对象交互的接口。ConcreteMediator类:具体中.. 阅读全文
posted @ 2013-07-27 19:42 liyunyu1 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 读取用户指定的任意文本文件,然后允许用户从该文件查找单词,查询的结果是该单词出现的次数,并列出每次出现所在的行,如果某单词在同一行中多次出现,程序将只显示改行的一次。行号按升序显示(int main()&&int main(int argc,char**argv)的区别算是了解了,但是跟int mian(int argc,char**argv){}中的文件操作还不熟悉,所以文件读取出现异常还不知道从哪里处理)【原来是中文字符不可以】code: 1 //使用以vector容器存储行号的textQuery类 2 #include "TextQuery.h" 3 阅读全文
posted @ 2013-07-27 15:27 liyunyu1 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。1.为什么称它为“自动”指针?auto_ptr只是众多可能的智能指针之一。许多商业库提供了更复杂的智能指针,用途广泛而令人惊异,从管理引用的数量到提供先进的代理服务。可以把标准C++auto_ptr看作智能指针的FordEscort(elmar注:可能指福特的一种 阅读全文
posted @ 2013-07-25 00:10 liyunyu1 阅读(273) 评论(0) 推荐(0) 编辑
摘要: C++ code到运行程序作为一个c++程序员这个应该是最应该知道的细节,简言之:编译----链接----可执行的程序。这里所说的细节主要是第一步的细节,编译器如何把c++代码编译成目标代码。概括的讲是把c++代码转化成cpu能认识的东西。这个过程十分的复杂,需要解析c++标准这个庞大的语法体系,还要支撑起面向对象中的一些特性,比如继承,多态,封装等等,这个过程也由于编译器不同而不同,虽然都是c++编译器,编译出来的代码是不同的,这就导致了一些问题。因为c++标准并没有定义编译完成之后的代码的规范。这便造成了一些技术的诞生。也可以看出c++标准是针对程序员而言的,c++标准约束程序员,编译器来 阅读全文
posted @ 2013-07-17 21:37 liyunyu1 阅读(706) 评论(0) 推荐(1) 编辑