12.6.3 类型转换例子

本例中的自动类型转换对于任一含有字符串的类(本例中,因为是简单的,所以使用的是标准C++string类)是非常有帮助的。如果不用自动类型转换就想从标准的C库函数中使用所有的字符串函数,那么就得为每一个函数写一个相应的成员函数,就像下面的例子:

12.6.3 类型转换例子 - 图1

这里只写了一个strcmp()函数,但必须为可能需要的<cstring>中的每一个写一个相应的函数。幸运的是,可以提供一个允许访问<cstring>中所有函数的自动类型转换:

12.6.3 类型转换例子 - 图2

12.6.3 类型转换例子 - 图3

因为编译器知道如何从String c转换到char,所以现在任何一个接受char参数的函数也可以接受Stringc参数。