#
现在在 Visual C++ Toolkit 2003 的主页上,下载链接已经被去掉,转而劝告人们使用 Visual C++ 2005 Express。VCToolkitSetup.exe下载
我们在编写应用程序的时候explicit关键字基本上是很少使用,它的作用是"禁止单参数构造函数"被用于自动型别转换,其中比较典型的例子就是容器类型,在这种类型的构造函数中你可以将初始长度作为参数传递给构造函数.例如:你可以声明这样一个构造函数
关键字mutable是C++中一个不常用的关键字,他只能用于类的非静态和非常量数据成员我们知道一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对像的状态也会随之发生变化! 如果一个类的成员函数被声明为const类型,表示该函数不会改变对象的状态,也就是该函数不会修改类的非静态数据成员.但是有些时候需要在该类函数中对类的数据成员进行赋值.这个时候就需要用到mutable关键字了
例如:
编译上面的代码会出现 error C2166: l-value specifies const object的错误说明在const类型的函数中改变了类的非静态数据成员.
这个时候需要使用mutable来修饰一下要在const成员函数中改变的非静态数据成员m_nAccess,代码如下:
工厂方法和抽象工厂实际上是从不同角度在描述问题。工厂方法描述了具体产品的创建,而抽象工厂描述的是产品系列的组织。
这个例子比较清楚了,不同的工厂生产不同的计算机,但计算机的基本组成(这里假设计算机仅由ram和cpu组成)是一样的,这样的产品系列很适合用抽象工厂来组织。而在实际生产计算机的时候,createRam()和createCpu()这两个工厂方法又起到了作用。
Powered by: C++博客 Copyright © 安帛伟