摘要:
条款07:为多态基类声明virtual析构函数以前写过一篇给这个类似的,参考:[C++基础]023_为什么要将基类的析构函数声明为Virtual?核心内容类似。 阅读全文
摘要:
序言条款06:若不想使用编译器自动生成的函数,就应该明确拒绝 关于本条款,本人认为这样做的目的只有一点:意图:阻止你没有明确定义的功能流向客户手段:屏蔽C++偷偷为你的类提供的功能 比如“=”运算符是C++默默生成的,但是或许你根本不希望你的类可以这样赋值。比如默认构造函数,或许你根本不希望使用者那样构造你的对象。实现手段 要屏蔽C++偷偷为你提供的函数和运算符操作,可以有很多方法。但是作者提供的方法,我也觉得是最好的方法,是怎样好的呢?我们来看代码示例吧! 1 #include <iostream> 2 using namespace std; 3 4 class UnCopya 阅读全文
摘要:
序言本节作者用了很大的篇幅来阐述自己对里氏替换原则的理解,而且代码片段也相当翔实。笔者阅读该节之后,认为该节的核心内容可以归结如下:1. 里氏替换原则的定义2. 里氏替换原则的规范里氏替换原则的定义 里氏替换原则的定义有两种: 第一种(作者认为是最正宗的,但是却是理解起来稍微有点绕的)如果对于每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换为o2时,程序P的行为没有发生变化,那么类型S就是类型T的子类。 第二种(理解起来最方便的)所有使用基类的地方必须能透明的使用其子类的对象。里氏替换原则的规范1. 子类必须完全实现父类的方法2. 子类可以有自己 阅读全文
摘要:
序言 《设计模式之禅》,与这本书结缘是在大三下学期,到图书馆借书的时候,看到一本很新的书,书名带个“禅”字,而当时又比较迷恋乔布斯。于是,不管它写的什么乱七八糟的内容就果断借着,拿回宿舍看。接着,放暑假期间,到金蝶实习,就把这本书带着看,怀着装逼的心态。整个实习两个月期间,这本书基本上没翻过,相反的,却把当时火起来的《山楂树之恋》给看了一遍。实习完回校,果断又把书还回去了。 今天,我已经快工作一年半了,之前每每想拿起这本书读的时候,总觉得没到火候。现在我觉得似乎到火候了,自己对设计模式有强烈的渴望,有强烈的需求。今天,拿起这本书,一定要老老实实的读完它。单一职责原则 1. 作者在讲解这一原则的 阅读全文