单选题 有如下程序: #include using namespace std; class TV{ public: TV(int s=41):size(s) { } TV(const TV &r):size(r.size) { } ~TV() { } private: int size; }; TV fun(TV &u) { TV t=u; return t; } int main() { TV x,y; x=fun(y); return 0; } 则 TV 类的复制构造函数被调用的次数是
【正确答案】 B
【答案解析】解析:拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。拷贝构造函数要调用基类的拷贝构造函数和成员函数。本题中调用fun函数时调用了一次复制构造函数,函数返回执行x=fun(y)时又调用了一次复制构造函数,所以总共2次。B选项正确。