预测以下程序的输出?
null
#include <iostream> using namespace std; class Test { private : int x; public : Test( int i) { x = i; cout << "Called" << endl; } }; int main() { Test t(20); t = 30; // conversion constructor is called here. return 0; } |
(A) 编译错误 (B)
Called Called
(C)
Called
答复: (B) 说明: 如果一个类有一个可以用单个参数调用的构造函数,那么这个构造函数就成为转换构造函数,因为这样的构造函数允许自动转换到正在构造的类。
当将单个参数的类型分配给对象时,可以在任何地方调用转换构造函数。给定程序的输出为
Called Called
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END