文章 2017-03-29 来自:开发者社区

读书笔记 effective C++ Item 40 明智而谨慎的使用多继承

1. 多继承的两个阵营 当我们谈论到多继承(MI)的时候,C++委员会被分为两个基本阵营。一个阵营相信如果单继承是好的C++性质,那么多继承肯定会更好。另外一个阵营则争辩道单继承诚然是好的,但多继承太麻烦,而不值得去使用它。在这个条款中,我的主要目标是让你明白多继承的这两个观点。 2. 从多个基类中继承的名字不能相同 第一件事情是你需要认识到使用MI进行设计时,从多个基类中可能会继承相同的名字(....

文章 2017-03-20 来自:开发者社区

读书笔记 effective c++ Item 34 区分接口继承和实现继承

  看上去最为简单的(public)继承的概念由两个单独部分组成:函数接口的继承和函数模板继承。这两种继承之间的区别同本书介绍部分讨论的函数声明和函数定义之间的区别完全对应。 1. 类函数的三种实现 作为一个类设计者,有时候你只想派生类继承成员函数的接口(声明)。有时候你想让派生类同时继承接口和实现,但是你允许它们覆盖掉继承而来的函数实现。但有时候你却想让派生类继承一个函数的接口和实现并...

文章 2017-03-15 来自:开发者社区

读书笔记 effective C++ Item 33 避免隐藏继承而来的名字

  1. 普通作用域中的隐藏 名字实际上和继承没有关系。有关系的是作用域。我们都知道像下面的代码: 1 int x; // global variable 2 3 void someFunc() 4 { 5 double x; // local variable 6 7 std::cin >> x; // ...

文章 2017-03-14 来自:开发者社区

读书笔记 effective c++ Item 32 确保public继承建立“is-a”模型

  1. 何为public继承的”is-a”关系 在C++面向对象准则中最重要的准则是:public继承意味着“is-a”。记住这个准则。 如果你实现一个类D(derived)public继承自类B(base),你在告诉c++编译器(也在告诉代码阅读者),每个类型D的对象也是一个类型B的对象,反过来说是不对的。你正在诉说B比D表示了一个更为一般的概念,而D比B表现了一个更为特殊的概念。你...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注