问题 单项选择题

有下列程序,在横线添加;
#include<iostream>
using namespace std;
class TestClass

public:
TestClass(int n)number=n;
______//拷贝构造函数
~TestClass()
private:
int number;
;
TestClass fun(TestClass p)

TestClass temp(P);
return temp;

int main()

TestClsss obj1(10),obj2(0);
TestClass obj3(obj1);
obj2=fun(obj3);
return 0;

A) TestClass(TestClass &other)number=other.number;
B) TestClass(TestClass other)number=other.number;
C) TestClass(TestClass &other)number;
D) TestClass(&other)number=other.number;

答案

参考答案:A

解析: 拷贝构造函数中的赋值构造函数也是构造函数,但它只有一个参数,这个参数是本类的对象,即other,所以赋值操作将本类的参数other,number赋值给number;而且采用对象的引用的形式,也就是& other。

多项选择题
填空题