预测产量
null
#include<iostream> using namespace std; class A { int i; public : A( int ii = 0) : i(ii) {} void show() { cout << i << endl; } }; class B { int x; public : B( int xx) : x(xx) {} operator A() const { return A(x); } }; void g(A a) { a.show(); } int main() { B b(10); g(b); g(20); return 0; } |
(A) 编译错误 (B)
10 20
(C)
20 20
(D)
10 10
答复: (B) 说明: 请注意,类B重载了as转换运算符,因此可以将B的对象转换为A的对象。
此外,类A有一个构造函数,可以用一个整型参数调用它,所以int可以转换为A。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END