单选题
有如下程序: #include<iostream.h> Using namespace std; Class Demo { public: Demo(){ cout<<“default constructor/n”;} Demo(const Demo &x){ cont<<“copy constructor/n”;} }; Demo usercode(Demob){Demo c(b);return c;} int main() { Demo a;d; cout<<“Calling usercode()/n”; d=usercode(a); return 0; 执行上面程序的过程中,构造函数Demo()和Demo(const Demo &x)被调用的次数别是( )。
【正确答案】
D
【答案解析】[解析] 本题考查的是引用调用,因为函数swap引用调用参数a,所以在swap函数中a的变化会改变主函数中a的值,即a自加1,但b的值并未改变。