摘要: c++ 类覆盖方法中的协变返回类型 在C++中,只要原来的返回类型是指向类的指针或引用,新的返回类型是指向派生类的指针或引用,覆盖的方法就可以改变返回类型。这样的类型称为协变返回类型(Covariant returns type). 协变(covariant),如果它保持了子类型序关系≦。该序关系是 阅读全文
posted @ 2017-10-17 23:17 lsgxeva 阅读(1456) 评论(0) 推荐(0)
摘要: 依赖倒置原则(Dependency Inversion Principle) 很多软件工程师都多少在处理 "Bad Design" 时有一些痛苦的经历。如果发现这些 "Bad Design" 的始作俑者就是我们自己时,那感觉就更糟糕了。那么,到底是什么让我做出一个能称为 "Bad Design" 的 阅读全文
posted @ 2017-10-17 22:51 lsgxeva 阅读(435) 评论(0) 推荐(0)
摘要: 最少知识原则(Least Knowledge Principle) 最少知识原则(Least Knowledge Principle),或者称迪米特法则(Law of Demeter),是一种面向对象程序设计的指导原则,它描述了一种保持代码松耦合的策略。其可简单的归纳为: Each unit sho 阅读全文
posted @ 2017-10-17 22:50 lsgxeva 阅读(1022) 评论(0) 推荐(0)
摘要: 接口分离原则(Interface Segregation Principle) 接口分离原则(Interface Segregation Principle)用于处理胖接口(fat interface)所带来的问题。如果类的接口定义暴露了过多的行为,则说明这个类的接口定义内聚程度不够好。换句话说,类 阅读全文
posted @ 2017-10-17 22:49 lsgxeva 阅读(944) 评论(0) 推荐(0)
摘要: 开放封闭原则(Open Closed Principle) 在面向对象的设计中有很多流行的思想,比如说 "所有的成员变量都应该设置为私有(Private)","要避免使用全局变量(Global Variables)","使用运行时类型识别(RTTI:Run Time Type Identificat 阅读全文
posted @ 2017-10-17 22:48 lsgxeva 阅读(477) 评论(0) 推荐(0)
摘要: 单一职责原则(SRP:The Single Responsibility Principle) 一个类应该有且只有一个变化的原因。 There should never be more than one reason for a class to change. 为什么将不同的职责分离到单独的类中是 阅读全文
posted @ 2017-10-17 22:46 lsgxeva 阅读(410) 评论(0) 推荐(0)
摘要: 里氏替换原则(Liskov Substitution Principle) 开放封闭原则(Open Closed Principle)是构建可维护性和可重用性代码的基础。它强调设计良好的代码可以不通过修改而扩展,新的功能通过添加新的代码来实现,而不需要更改已有的可工作的代码。抽象(Abstracti 阅读全文
posted @ 2017-10-17 22:44 lsgxeva 阅读(430) 评论(0) 推荐(0)
摘要: C++类内存分布 来源 http://www.cnblogs.com/jerry19880126/p/3616999.html 书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。 工欲善其事,必先利其器,我 阅读全文
posted @ 2017-10-17 20:47 lsgxeva 阅读(744) 评论(0) 推荐(0)