C++ Basic
文章平均质量分 75
scofieldzhu
这个作者很懒,什么都没留下…
展开
-
类的三种继承方式的访问权限.
每次写类需要用到继承关系的时候我都习惯性的用public,而有些时候用其它两种继承方式(保护继承和私有继承)还是比较方便的,但是自己但是就是想不起来用,看到别人用它而设计出的类机构很好的时候游羡慕不已,我以前学习C++的时候也注意过这两种继承方式各个区域(public,protected,private)的访问权限问题,当时是死记住的,过一段时间就忘记了, 记不住,今天就又遇到了这种情况,原创 2009-06-01 14:37:00 · 2098 阅读 · 0 评论 -
关键字explicit小议
内容: 在C++语言中有这样一个关键字explicit,也许你不经常用到它或者压根就根本就没有见过它,那这个关键字到底有什么作用呢?C++语言标准中为什么要将它作为一个关键字标准列入标准当中呢?带着这些问题我们稍微地认识一下这个"家伙",呵呵. 我们先来看一段code: class TestClass{ public: TestClass(int value)原创 2009-06-03 14:12:00 · 638 阅读 · 0 评论 -
关键词volatile小议
转自:http://blog.chinaunix.net/u2/74524/showart_1093982.html 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值(From Memory),而不是使用保存在寄存器里的备份。 下面是volatile变量转载 2009-06-03 14:28:00 · 822 阅读 · 0 评论 -
关键字mutable小议
关键字mutable小议内容: 我们知道在用const修饰的类成员函数,这意味着什么,从effective c++这本书上我们可以了解到,这里存在两个流行的概念:bitwise constness(or physical constness)和logical constness. bitwise const阵营的人相信,成员函数只有在不更改对象任何成员变量(static变量除外)时原创 2009-06-03 15:37:00 · 1434 阅读 · 0 评论 -
关于继承体系下的操作符重载问题讨论(一)
为了引出问题,我们先来看下面这个小例子,假设现在有一个LimitValue代理类,它提供了有限的内置型操作,为了测试上的方便,我们只对该类进行简单的设计: ... class LimitValue{ public: LimitValue(int value):value_(value){} LimitValue& operator=(const原创 2009-06-22 10:48:00 · 1260 阅读 · 0 评论 -
关于继承体系下的操作符重载问题讨论(二)
我们在上一篇的时候引入了一个问题:当不为我们的子类显式提供操作符重载函数实现,那么编译器为这个类提供的操作符重载的默认实现版本是否会调用基类的操作符实现函数呢?带着这个问题,我们依旧利用上一篇的代码进行测试,我们先注释掉该子类的操作符实现函数: class Day:public LimitValue{ public: Day(int days,int se原创 2009-06-22 13:55:00 · 983 阅读 · 0 评论 -
操作符重载函数多态性
内容: 在一次coding过程中,遇到这样一个问题:能不能显式声明用virtual修饰操作符重载的函数?呵呵,提出的问题是不是weird一点,但是此时并不否认有这样的想法也符合逻辑,好,那么我们来测试一下: #include using std::cout; using std::endl; class LimitValue{ public:原创 2009-06-22 14:41:00 · 679 阅读 · 0 评论 -
关于模板特化在不同的命名空间的问题
昨天晚上写代码的时候遇到了这样一个问题://enumstring.hnamespace util{ template const char* EnumString(const T) { return ""; }}//test.cpp#include "enumstring.h"namespace debugger{ using namspace util; template const char* EnumString(cons原创 2010-06-08 09:40:00 · 2122 阅读 · 0 评论