Loading

摘要: ——————面向对象程序设计的核心思想是:数据抽象、继承和动态绑定。 15.1 OOP概述 面向对象程序设计的核心思想是数据抽象、继承、和动态绑定。 使用数据抽象,我们可以将类的接口与实现分离;使用继承可以定义相似的类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的 阅读全文
posted @ 2019-08-17 15:37 三只猫- 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 如下三个类: 一、编译器优化之前的大小: 上述四个类在优化之前的大小分别是:1、8、8 、12 类X明明没有任何成员为什么大小是1byte呢?因为那是编译器插入的一个char,这使得这一class的两个object在内存中有独一无二的地址。 Y和Z的大小都是8,这受到了机器和编译器共同的影响。即以下 阅读全文
posted @ 2019-08-17 14:44 三只猫- 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 当我们需要设置class member的初值时,要么是经过member initialization list ,要么在construcotr内。 一、先讨论必须使用member initialization list的四种情况: 在以下四种情况,为了能够让程序被顺利编译,必须使用member in 阅读全文
posted @ 2019-08-17 10:24 三只猫- 阅读(161) 评论(0) 推荐(0) 编辑
摘要: C++ Standard将copy constructor分为trivial 和nontrivial两种:只有nontrivial的实例才会被合成于程序之中。决定一个copy constructor是否是nontrivial的,则是由classs是否具有 bitwise copy semantics 阅读全文
posted @ 2019-08-17 07:42 三只猫- 阅读(296) 评论(0) 推荐(0) 编辑