上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 30 下一页
摘要: 虚拟继承多重继承的一个语义上的副作用就是, 它必须支持某种形式的 shared subobject 继承, 一个典型的例子是最早的 iostream library:// pre-standard iostream implementclass ios{...};class istream: pub... 阅读全文
posted @ 2014-11-21 13:04 wu_overflow 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 加上多态的情况如果我要处理一个坐标点, 而不在意这是一个 Point2d 或 Point3d 实例, 那么就需要在继承关系中提供一个 virtual function 接口:class Point2d{public: Point2d(float x = 0.0, float y = 0.0) ... 阅读全文
posted @ 2014-11-20 23:48 wu_overflow 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 在 C++ 继承模型中, 一个derived class object 所表现出来的东西, 是其自己的的 members 加上其 base class members 的总和。 至于 derived class members 和 base class members 的排列次序并未在 C++ St... 阅读全文
posted @ 2014-11-19 17:28 wu_overflow 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 考察以下代码:Point3d origin;origin.x = 0.0;此例中 x 的存取成本是什么? 答案则是视 x 和 Point3d 而定(别打脸, 我知道这是废话)。 具体的呢? 因为 x 可能是个 static member, 也可能是个 nonstiatic member; Point... 阅读全文
posted @ 2014-11-19 14:07 wu_overflow 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 考察以下代码:class Point3d{public: //... private: float _x; static List *freeList; float _y; static const int chunkSize = 250; float _z... 阅读全文
posted @ 2014-11-18 21:21 wu_overflow 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 考察以下代码:extern float _x;//user codeclass Point3d{public: Point3d(float, float, float); //问题来了, 是哪一个 _x? float X() const {return _x;} void ... 阅读全文
posted @ 2014-11-17 21:47 wu_overflow 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 之前我曾有一篇博客讨论过 sizeof 一个类的值的问题, 但只是在讨论一个孤立的类, 没有考虑到 derived 的问题, 在此补充更多的情况。考察以下代码:class X{};class Y: public virtual X{};class Z: public virtual X{};clas... 阅读全文
posted @ 2014-11-17 19:48 wu_overflow 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 下列情况中, 为了让程序顺利编译, 必须使用 member initialization list:1. 初始化一个 reference member 时;2. 初始化一个 const member 时;3. 当调用一个 base class 的 constructor, 而它拥有一组参数时;4. ... 阅读全文
posted @ 2014-11-16 15:52 wu_overflow 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 一丶程序的转化考察以下代码:1 X Foo()2 {3 X xx;4 //...5 return xx;6 }看到这个, 你可能会有两个想法:1. 每次 Foo() 被调用, 就会传回 xx 的值.2. 如果 class X 定义了一个 copy constructor, 那... 阅读全文
posted @ 2014-11-15 21:04 wu_overflow 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 如 default constructor 一般, 编译器也不会因为一个 class 没有 copy constructor 而产生出一个, 编译器只会在必要时才会产生一个 copy constructor, 而这个"必要" 则是指当 class 不展现 bitwise copy semantics... 阅读全文
posted @ 2014-11-15 14:22 wu_overflow 阅读(736) 评论(1) 推荐(0) 编辑
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 30 下一页