C & C++ FAQ
|
C++ | 変換コンストラクタとは何ですか。 |
以下の例からも分かるように、変換コンストラクタは、あたかも、実引数の値をTest型オブジェクトに変換するかのように働きます。class Test { public: Test(int n); // 変換コンストラクタ Test(const char *s, int n = 0); // 変換コンストラクタとしても働く };
int main(void) { Test x(5); // int型の5をもとにTest型オブジェクトxを作る(int→Testの型変換)。 Test y("ABC"); // 文字列"ABC"をもとにTest型オブジェクトyを作る(char*→Testの型変換)。 Text z("XYZ", 99); // 変換コストラクタではない(二つの値からオブジェクトzを作っているため) }
標準C++ | §12.3.1 | Conversion by constructor |
標準C++ 2nd | §1.3.11 | Conversion by constructor |