假设我们有一个 String 类:
class String {
public:
String (int n);
String(const char *p);
}
如果我们尝试会发生什么:
String mystring='x';
这里写到 char 'x' 将被转换为 int 并调用 String(int) 构造函数。但是,我不明白。
首先,如何将'x'转换为int?我可以想象它"3"
会被转换成3
但是“x”会被转换成什么?其次,我们在类中有两个构造函数。第一个构造函数接受一个 int 类型的参数,另一个构造函数接受一个指向 char 变量的指针作为参数。现在我们尝试调用不存在的以 char 作为参数的构造函数。那么,我们将 char 转换为整数,但是为什么我们不尝试将 char 转换为指向 char 的指针,然后使用第二个构造函数呢?