1,关键字explict
通过关键字explict的作用,我们可以禁止“单参数构造函数(single argument constructor)”被用于自动类型转换。典型的例子便是群集类别(collection classes)。
class Stack {
explict Stack (int size); //create stack with initial size
..
}
在这里,explict的应用非常重要。如果没有explict,这个构造函数有能力将一个int自动转型为Stack。一旦这种情况发生,你甚至可以给Stack指派一个整数值而不会引起任何问题:
Stack s;
...
s = 40; //Oops, creates a new Stack for 40 elements and assigns it to s